Chapter 1: Changing Software

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.

Four Reasons to Change Software

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 Features and Fixing Bugs

Adding a feature seems like the most straightforward ...

Get Working Effectively with Legacy Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.