Working Effectively with Legacy Code
Working Effectively with Legacy Code by Michael Feathersby Michael C. Feathers
Hacker ApprovedShares rank 6 of 115 programming books by recommenders
Practical, step-by-step guide to changing untested legacy code safely, with techniques like seams and cut points that people still use daily.
Practical, step-by-step guide to changing untested legacy code safely, with techniques like seams and cut points that people still use daily.
17 people gave an opinion
- recommend it
- 16
- criticize it
- 1
- approval share
- 94%
Recommended in 8 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: not recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it carries the badge
- 16 people recommend itNeeds 10 or more, met.
- 16 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 8 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Practical, actionable techniques for legacy code
“It is the best step by step guide I have ever seen to successfully work with legacy code.”
Comment from 3 Mar 2026 in “Use the Mikado Method to do safe changes in a complex codebase” “Usually there is something in there I can apply directly to get me out of a pinch.”
Comment from 7 May 2026 in “Where the Goblins Came From” “it's both pragmatic and actionable”
Comment from 19 Nov 2025 in “Ask HN: What does "legacy code" mean to you?” Recommended as the standard reference
“The exact same approach is recommended in the book "Working effectively with legacy code" by Michael Feathers, with several techniques on how to do it.”
Comment from 3 Apr 2026 in “Decisions that eroded trust in Azure – by a former Azure Core engineer” “This is the general approach advocated by Feathers' Working Effectively with Legacy Code book”
Comment from 3 Feb 2026 in “Ask HN: Why dead code detection in Python is harder than most tools admit” “you should probably start from _Working Effectively with Legacy Code_ by Michael Feathers”
Comment from 2 Apr 2026 in “Ask HN: Books on Unit Testing and TDD?” - Comment from 2 Mar 2026 in “Use the Mikado Method to do safe changes in a complex codebase”
Seams and cut points for testing
“he discusses using cut points to build a testing firewall to bring code under test”
Comment from 7 May 2026 in “ProgramBench: Can Language Models Rebuild Programs from Scratch?” “found the concept of "seams" from that book useful”
Comment from 30 Apr 2026 in “Where the Goblins Came From” Changes how to think about old code
“It will certainly be eye-opening to some, as it dispels the myth that legacy code is a function of age.”
Comment from 9 Dec 2025 in “Has the cost of building software dropped 90%?” “It changed my approach to how to think about old code-bases.”
Comment from 30 Apr 2026 in “Where the Goblins Came From”
Other programming books people recommend
The four most recommended other programming books, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Crafting Interpretersby Robert Nystrom | 60 | 4 | 94% | 10 | — | Approved |
| Clean Codeby Robert C. Martin | 31 | 87 | 26% | 9 | — | — |
| The Pragmatic Programmerby Andy Hunt and Dave Thomas | 28 | 1 | 97% | 7 | — | Approved |
| How to Design Programsby Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shriram Krishnamurthi | 18 | 2 | 90% | 7 | — | Approved |
| Working Effectively with Legacy Codeby Michael C. FeathersThis page | 16 | 1 | 94% | 8 | — | Approved |
What people said
15 of the 18 comments that mention it, newest first. Each links to the original comment.
“This is not a universally accepted definition.”
“Its a great book, still use techniques from it everyday.”
“A whole book was written about them and their importance, and how to leverage them.”
“he discusses using cut points to build a testing firewall to bring code under test”
“Usually there is something in there I can apply directly to get me out of a pinch.”
“found the concept of "seams" from that book useful”
“It changed my approach to how to think about old code-bases.”
“The exact same approach is recommended in the book "Working effectively with legacy code" by Michael Feathers, with several techniques on how to do it.”
“you should probably start from _Working Effectively with Legacy Code_ by Michael Feathers”
“It is the best step by step guide I have ever seen to successfully work with legacy code.”
“this book has answers for you”
“I recommend reading a classic”
“This is the general approach advocated by Feathers' Working Effectively with Legacy Code book”
“It will certainly be eye-opening to some, as it dispels the myth that legacy code is a function of age.”
“it's both pragmatic and actionable”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.