Part 2. Refactoring to improve the codebase

We set up the inspection infrastructure in chapter 2, and we’re now ready to start work on re-engineering our legacy software.

Chapter 3 will focus on a very important decision, namely whether to refactor a codebase or to throw it away and rewrite from scratch. This decision is often risky, because it’s made at the start of the project when you don’t yet have much information to guide you, so we’ll also look at how to reduce that risk by taking a more incremental approach.

Chapters 4, 5, and 6 look in detail at three options for re-engineering software: refactoring, re-architecting, and the Big Rewrite. In a sense, they’re all variants of each other, just working at different scales. Refactoring ...

Get Re-Engineering Legacy Software 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.