Working Effectively with Legacy Code
Michael Feathers
Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it?
Score based on developer article recommendations — not sales data or reviews.
🟢 Developer Verdict
Offers practical, step-by-step strategies for safely introducing automated tests into existing, untested codebases.
Read this if
- ✓ You want to apply characterization testing to untestable code.
- ✓ You frequently work with large, complex systems lacking test coverage.
- ✓ You aim to improve the maintainability and reliability of legacy software.
Skip this for now if
- ✗ You are primarily seeking advanced design patterns for new systems.
- ✗ You prefer content focused on modern TDD practices from scratch.
- ✗ You expect deep dives into specific programming language features.
🔄 Compare & Reading Path
Alternatives
📊 Why Developers Recommend
It provides systematic approaches to improving code quality.
Recommended across 36 independent developer articles, showing broad consensus across the community.
Valued for its practical approach — concepts connect directly to real-world engineering decisions and daily work.
💬 What Developers Say
"Working effectively with legacy code is the go to book on legacy code"
— matmooredev · How do you approach a legacy technology project? · Jun 9, 2019
"this book will add tons of tools to your belt on how to bring that legacy code to an era of glory"
— patferraggi · 5 books every developer should read, and some extras. · Nov 2, 2019
"I want to reread these two classics on unit testing."
— supergoodjared · My 2020 Reading List · Dec 9, 2019
Based on 35 developer article mentions
👤 Who Should Read This
Best for
- • Senior engineers deepening their expertise
- • Engineers involved in system design and architecture
- • Developers who want to write better code
Explore Similar Books
More books in similar categories — browse to discover your next read.
Unit Testing Principles, Practices, and Patterns
Vladimir Khorikov
View →
The Art of Unit Testing: with examples in C#
Roy Osherove
View →
UNIT TESTING
Vladimir Khorikov
View →
Test Driven
Lasse Koskela
View →
Pragmatic Unit Testing with JUnit in Java 8
Jeff Langr, Andy Hunt, Dave Thomas
View →
Michael Feathers
Mentioned in 39 articles · #14 overall
As an Amazon Associate, we earn from qualifying purchases.
Recommended in 39 Articles
The hidden trap of debugger
Assertions considered Harmful
How to get familiar with a new codebase
Refactoring Legacy Monoliths - Part 1: First Steps
29 Must Read Books For Programmers
How do you approach a legacy technology project?
Score Trend
Last 90 Days
Articles
0
vs prev 90d
-1
All Time
Unique authors
36
Total mentions
39