Christian Seberino wrote:
> Andrew Lentvorski wrote:
> 
>> Agreed.  The proper response was to refactor CVS and then start
>> replacing subsystems.
>>
>> The problem is that no developers *ever* want to do that.
>>
>> Refactoring requires that you understand the old code, write tests,
>> refactor while gaining no new functionality, and only *then* pull out
>> bad subsystems and redo them.
>>
>> That's a whole lot of unfun coding.
> 
> How do you know refactoring CVS code and understanding it would be easier
> and faster than doing a clean rewrite with the new design decisions you
> want?  You seem to take this as an axiom.... sure you would never want to
> rewrite an OS on your free time but this is "just" a SCM.  Maybe no one
> wants to do this unfun work for a reason.
> 

Well, one of the recipes I've seen for *inviting* SSS is to ignore all
the little stuff in the existing code that might look like kruft, but
which may very be a hard-won fix for some obscure problem -- who knows
how critical. Similar scenarios hold for say, a make-or-break
optimization kludge.

That's why unit tests are so very valuable. If you have a good set of
tests (a big if) then you [should] have tests for all those dark
corners, and rewrite becomes less of a catastrophe-in-waiting.

To undertake a rewrite-from-scratch, one must be willing to abandon all
those old krufty and kludgy warts-that-might-be-pearls.

If you're lucky, you rediscover the need to reinvent them before
shipping, and end up merely late. If not <argggh!>.

Regards,
..jim


-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to