Refactoring
Refactoring by Martin Fowlerby Martin Fowler
Shares rank 8 of 21 software engineering books by recommenders
Recommended for showing how to improve existing code bit by bit, with solid tests as the essential precondition. One critic found much of it already obvious from experience.
Recommended for showing how to improve existing code bit by bit, with solid tests as the essential precondition. One critic found much of it already obvious from experience.
8 people gave an opinion
- recommend it
- 7
- criticize it
- 1
- approval share
- 88%
Recommended in 4 of 13 months
- November 2025: recommended
- December 2025: not recommended
- January 2026: not recommended
- February 2026: not recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: not recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: not recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 7 people recommend itNeeds 10 or more, not met.
- 7 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 4 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
Tests make changing code safe
“One of my take-aways after reading that book is that the specific implementation of a function is not very important if you have tests.”
Comment from 4 Mar 2026 in “Agentic Engineering Patterns” “to refactor, the essential precondition is [...] solid tests”
Comment from 30 Jul 2026 in “The Economic Benefit of Refactoring” Practical tools for incremental code improvement
“It's a set of tools and justifications for chipping away at that pain bit by bit”
Comment from 19 Jul 2026 in “Goodbye, and Thanks for All the Bikesheds” Useful generalist language and system book
“Refactoring by Fowler is also a great generalist language and system book”
Comment from 17 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”
Other software engineering books people recommend
The four most recommended other software engineering 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 |
|---|---|---|---|---|---|---|
| The Mythical Man-Monthby Frederick P. Brooks | 56 | 3 | 95% | 12 | — | Approved |
| Designing Data-Intensive Applicationsby Martin Kleppmann | 37 | 1 | 97% | 12 | — | Approved |
| A Philosophy of Software Designby John K. Ousterhout | 28 | 1 | 97% | 11 | — | Approved |
| Code Completeby Steve McConnell | 14 | 0 | 100% | 7 | — | Approved |
| Refactoringby Martin FowlerThis page | 7 | 1 | 88% | 4 | — | — |
What people said
5 of the 8 comments that mention it, newest first. Each links to the original comment.
“What I found was a bunch of stuff I knew already just from experience but thought was too obvious to enumerate and write down.”
“to refactor, the essential precondition is [...] solid tests”
“It's a set of tools and justifications for chipping away at that pain bit by bit”
“One of my take-aways after reading that book is that the specific implementation of a function is not very important if you have tests.”
“Refactoring by Fowler is also a great generalist language and system book”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.