November 16, 2004

Don't rewrite software

Aristotle writes:

Why does everyone boast about their new release being “a complete rewrite”? To me, all that says is “we want to stumble over the many fringe conditions already handled by the last codebase all over again”

I'm in the process of maintaining an application I basically wrote in an embryonic state of programming knowledge. Words cannot describe the code I grinded out at that time. After a first review of the codebase I found myself crying "MUST! REWRITE!" with bloodshot eyes and foam coming out of my mouth, but in the end I managed to suppress my cravings and take a sober look at my options.

Reality is that a full rewrite is pretty much the most stupid thing you can ever do. We're quick to underestimate the value of a codebase that had every breed of user and millions of transaction thrown against it and is still standing upright.

Comments

Can't agree with you enough. With the company I work for now there is some urging by one of the developers to do just that just because it's difficult to work with. Evenstill, and as bad as it is, I've been able to go a very long ways towards cleaning up and organizing large portions of the code base.

Besides, it did just shy of 100K this last year and is still slowly but surely growing. Can't fault that.

Posted by BDKR (#)