Gabriel Sechan wrote:
From: Christopher Smith <[EMAIL PROTECTED]>
Andrew Lentvorski wrote:
The real slowdown comes when you shift from clean slate development
to maintenance. I can write 100+ lines of code per hour when I
start out. However, then I start having to debug things. Suddenly,
my lines of code per hour drops like a stone.
Maintenance always means fewer lines of code,
Not in the least. Take the following sets of code:
while(*x!=0)
*x++=*y++;
or
i=0;
while(x[i]!=0){
x[i]=y[i];
i++;
}
The second is more lines, but also more readable. I'll take it any
day of the week. This is a simple example, but its not uncommon. For
another example, I'd rather see a perl program add 10K lines and use
explicit variables than depend on the magic $_.
I think we're all in violent agreement with what you are saying. This is
not what we were talking about.
What we were referring to (and this was specifically what Andrew said)
was that when in maintenance mode, you tend to spend more of your time
thinking, analyzing, testing, etc., so you aren't writing code. Neither
of us were suggesting that brevity necessarily makes for more
maintainable code (indeed, my case for static typing is essentially that
while you end up typing more, it pays off in that it makes your code
more readible).
In general, I don't see why you'd think that XP would be particularly
bad in this mode.
Lack of documentation. Lack of real design or design documents. Code
thats constantly in flux, leaving it hard to find a dev that
understands most of it. Cruft and hacks from trying to make a two
week milestone, rather than spending time to do things the right way.
I'd maintain a program under any other process, including the much
maligned waterfall, before I'd touch one done by XP.
Yeah, those things are all a sign of XP done wrong. There should be real
documentation, especially design docs. There should be design. In fact,
there should be more design than on a normal project. The code should
actually be less in flux than on a normal project (yes, you are
constantly refactoring, but XP projects tend to produce less code per
man week for obvious reasons), although typically some parts of the code
get refactored more than others, those are also the ones where you'd
expect the most developers to have an idea of what's going on there. The
two week milestones shouldn't prevent you from spending time to do
things the right way, it should force you to break down "doing things
the right way" in to a series of small simple steps which are
individually verified, and this tends to reduce cruft and hacks.
--Chris
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg