May 03, 2003

Cringely on Open Source and Refactoring

Robert X. Cringely has an article up on PBS' site discussing the different types of open source projects that exist today. He's pretty much on the money -- not all projects are created (or exist) equally. Some are big projects with big money behind them and are as slick as their commercial competitors. Others are projects of hobbyists. That is the main point of his article.

But then you can see him begin to speak about things that I'm guessing he's not as familiar with:

"Cleaning up code" is a terrible thing. Redesigning WORKING code into different WORKING code (also known as refactoring) is terrible. The reason is that once you touch WORKING code, it becomes NON-WORKING code, and the changes you make (once you get it working again) will never be known. It is basically a programmer's ego trip and nothing else. Cleaning up code, which generally does not occur in nature, is a prime example of amateur Open Source software.

He's right in a lot of respects, especially for huge existing projects that have a lot of code. Refactoring is dangerous. But refactoring code, when done properly, especially code that is backed by decent automated unit and functional test suites, gives significant advantages in the ability of the project to quickly add new features and fix new bugs. I'm not saying anything new here -- XP advocates have been expressing these claims for years.

Posted by Eli at May 3, 2003 07:17 PM | TrackBack
Post a comment

Remember personal info?