September 2004
Intermediate to advanced
464 pages
10h
English
Changing code is great. It’s what we do for a living. But there are ways of changing code that make life difficult, and there are ways that make it much easier. In the industry, we haven’t spoken about that much. The closest we’ve gotten is the literature on refactoring. I think we can broaden the discussion a bit and talk about how to deal with code in the thorniest of situations. To do that, we have to dig deeper into the mechanics of change.
For simplicity’s sake, let’s look at four primary reasons to change software.
1. Adding a feature
2. Fixing a bug
3. Improving the design
4. Optimizing resource usage
Adding a feature seems like the most straightforward ...