Friday, August 13, 2004
Code Bloat Begets Code Bloat
Jason Marshall has written a good article that explains how the code base of a large project can grow exponentially:
Often developers are aware of code that they want to use but it's not in a form that allows reuse. Their schedule doesn't include time for refactoring for reuse so they just copy it. There needs to be more incentive for reuse. The view "in the trenches" may be that copying code is less short-term "risk" than refactoring.The faster your code base grows, the less of it people will understand. When people don't understand all of the code, they don't see global patterns, and so they will reinvent little wheels all over the place. In theory, the development leads and the architects are supposed to watch out for these issues, but there are always places where redundant code can hide, and as the code continues to grow, even this watchdog function breaks down. Soon you have people who are intimately familiar with only a couple of modules in the system, and so replication across modules becomes difficult to spot. As the line-count continues to rise, the percentage of the code that each person really knows decreases, compounding the problem. Welcome to exponential code growth.
RSS 0.92 Feed