[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: refactoring when using CVS

From: Greg A. Woods
Subject: RE: refactoring when using CVS
Date: Thu, 21 Feb 2002 19:18:53 -0500 (EST)

[ On Thursday, February 21, 2002 at 14:46:53 (-0800), Noel Yap wrote: ]
> Subject: RE: refactoring when using CVS
> So now you're saying CVS is also no good for initial
> development under XP.  CVS is getting nichier by the
> moment.

CVS is not and has never been very useful for initial development under
any methodology that doesn't involve sharing of the code under
development (and sharing in a non-XP manner!).  Sure there are pedants
amongst the CVS users who check in every tiny change even when they're
working all on their own, but they're the exception by far and while
their change history might make for some very interesting micro-analysis
of their work, it's really not of any use from an overall SCM point of
view.  SCM really only comes into full use once you've got past the
point of the first actual release.  Only once you've got something that
needs to be shared (either with other developers, or with the QA team,
or even with actual end users) do you really have to be that much more
careful to track how it's configured and how it is changed before you
make a new release.  I'm not sure why this would be news to you though.

I have only studied the formal eXtreme Programming methodology from a
distance, never really done it directly, at least not in a formal way
with all of the rules it's proponents have found to be critical to its
success, but from what I've learned it would seem the modules developed
by a pair of programmers is never shared with any other pairs of
programmers until it's effectively (if not actually) complete.  Maybe
I'm micro-analyzing XP too much, but in the informal XP-like teams I've
worked on in the past what I say has been absolutely true and I don't
see how any of the other formal XP rules could change that.

> I really don't understand your post.  XP promotes
> rapid, quick iterations.  Each iteration includes
> design.  Design includes refactoring.  Therefore, you
> cannot have XP without refactoring when necessary.

Yeah, but once you've reached the point of producing a first release
then you don't immediately start making micro-releases.  Sure you can
use XP in maintenance, but again you don't release a given pair's output
to the rest of the teams until it's at least semi-complete.

> I don't think anyone is suggesting willy-nilly
> refactoring.  But the fact remains that XP includes
> constant refactoring.  This refactoring typically
> includes renaming and moving of files.  CVS doesn't
> support such a feature.  Therefore, CVS is not ideal
> for XP.

I think you're missing the point of how XP and CM fit together in the
bigger picture.  It matters not what CM tools you use, you don't go
trying to share all your micro-adjustments continuously!

Perhaps you should follow the change logs of some of the larger
distributed freeware projects using CVS for CM to see how it works
best.   In most such projects, For example in NetBSD and FreeBSD,
nothing that doesn't yet work (and in NetBSD that often means on many,
if not all of the supported architctures!) should ever be checked in.
How these "changes" are initially developed is irrelevant from the CM
point of view of the overall project.  Some developers working on their
own check in smaller working units as they create them, but usually the
design of their final result was defined before they even began to
work.  Perhaps some of the other changes are developed with XP -- you
just can't tell without asking the developers -- and you don't really
care so long as they compile and work when they're first checked in.
Sure things don't always work perfectly when they're first committed,
but that's where the shared development methodology supported by CVS
starts to come into use -- other developers are now effectively forced
to start using the new changes and they can commit their own fixes if
there is something wrong with them.

In other words whether you use XP or not is irrelevant.  It just doesn't
enter into the picture from the level where CVS is involved.

                                                                Greg A. Woods

+1 416 218-0098;  <address@hidden>;  <address@hidden>;  <address@hidden>
Planix, Inc. <address@hidden>; VE3TCP; Secrets of the Weird <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]