Re: [parlezuml] Method Length - How Long Is Too Long?
I think the key is that a particular practise works well in the context of a specific collection of other practises.
For example, Iterative Development, TDD, Refactoring & OO (amongst others) work really well together. In fact, they almost depend on each other - without TDD, no/less courageous refactoring can happen.
However, any one of these practises might not work so well in a different context. For example, Refactoring is difficult in a database driven context; and TDD is difficult for the look and feel aspect of UI development.
So, I say one needs to first define the context; before you can start talking about the merits of a particular practise.
One of the barriers to building a proper profession of software
development is arguably that there's a lack of majority consensus on,
well, pretty much everything.
The recent spat between Bob Martin and Joel Spolsky & Jeff Atwood
about Test-driven Development illustrated very clearly: as far as
Bob's concerned TDD is a done deal. As far as Joel and Jeff are
concerned TDD is actually bad practice.
I felt the same way about iterative and incremental development. Who
in their right mind still supports waterfall? The answer, sadly,
is "plenty of people" (many of them project mangers and CTOs)
Maybe we're being too ambitious. Maybe we should start with an
easier, simpler target. Surely we can all agree on method length?
When is a method "too long"? I find that 5-10 lines of code is where
I start to look for ways to break a method down. I get the impression
Uncle Bob, Kent Beck and others would be in a similar ballpark.
Do we, as a body of professionals, generally agree on that?
One of the barriers to building a proper profession of software development is arguably that there's a lack of majority consensus on, well, pretty much...
I think the key is that a particular practise works well in the context of a specific collection of other practises. For example, Iterative Development, TDD,...
I notice you didn't answer the question ;-) ... context of a ... others) ... other - ... different ... start ... on, ... Who ... where ... impression...
The question is: Method Length - How Long Is Too Long? Â The problem with total contextualism is the problem with total relativism, surely. Can anyone suggest...
... relativism, surely. Can anyone suggest a context where a method containing, say, 5,000 LOC is fine? ... the majority will reach consensus on? Maybe lines...
Sorry to labour the point, but if I made the following statement: "Any method containing more than 5,000 lines of executable code and that will potentially...
... What's your evidence? Earlier I think you suggested 5-10 lines as your preferred upper limit. See the 2nd-last paragraph on this page (a summary of Code...
Oppsss.... Good debate! Seems, the bench mark depends of the organization policies or the coding practice it follows. What I have benched mark is a mix of many...
... I found some evidence (OK, someone else did). From this blog entry: http://dubroy.com/blog/2009/03/09/method-length-are-short-methods-actual ly-worse/ we...
I love this ... I would add: You can't describe it without referring to the code. From: parlezuml@yahoogroups.com [mailto:parlezuml@yahoogroups.com] On Behalf...
... what if I delegate? does that count? my Java method was only 3 lines long but delegated to something that was 5,020 lines of Forth code. (which I didn't...
... Nope it would be pretty horrible wouldn't it, and in anything I've ever written there would have been plenty of places in that 5000 lines for logical...
Hi all, I always tend to make a method not more than 30 to 40 lines of code, so a human can see the whole method on screen without scrolling. This makes it...
Hi, I suppose rather than continuing this discussion on the no of lines a method could/should have. We could list the pros & cons of having a method with too...
Alternatively, we could stop focusing on the exceptions, and rather look at the 95% confidence interval. I would be happy to say that 95% of the time, a method...
One line. No more, no less. ;) That's what someone I was pairing with teased me about the other week - lately I seem to try to keep most of my methods down to...