Book · 1999
Refactoring
by Martin Fowler
Martin Fowler's catalog of named moves for cleaning up code that already works, cited 116 times across Reddit in 7 years as the Clean Code alternative people actually prefer.
What does Reddit think of Refactoring?
The overall sentiment is mildly positive but not effusive — the book earns respect rather than enthusiasm. On r/cscareerquestions, the Clean Code comparison comes up constantly; one commenter with 193 upvotes put it plainly: Refactoring is a much cleaner read. That comparison defines the book's Reddit reputation. r/webdev quotes it directly on the "two hats" rule — don't refactor and write new features simultaneously, keep your test suite green. r/programming ranked it fourth in a crowdsourced 35%-recommendation list, behind Pragmatic Programmer, Clean Code, and Code Complete. r/learnprogramming contributes 14 mentions. r/ExperiencedDevs treats it with flat neutrality, often citing it alongside TDD and XP practices rather than alone. The book isn't contested the way Clean Code is; it's accepted. Nobody argues with the catalog of moves. The argument, when it exists, is whether you needed a book to learn them.
Community feedback & reader fit
Themes
- · Named refactoring moves as a shared vocabulary
- · Test-suite discipline as a prerequisite for safe refactoring
- · YAGNI and avoiding premature abstractions
- · The refactoring hat vs. the feature hat
- · Legacy code and incremental improvement
Common praise
- + The named catalog gives teams a shared vocabulary that actually sticks in code review.
- + Commenters on r/cscareerquestions consistently prefer it over Clean Code as the cleaner read.
- + The 'two hats' rule from r/webdev threads gets quoted verbatim years after people first read it.
- + r/programming's crowdsourced list put it in the top four recommended books out of the full catalogue.
- + The YAGNI treatment cuts through the premature-abstraction instinct better than most chapters on the topic.
Common criticism
- − The catalog format means experienced developers can skim the whole thing in an afternoon and feel they got it.
- − Readers who came from Clean Code find the overlap substantial enough to question reading both.
- − The XP-era framing dates some examples for developers outside object-oriented contexts.
Who it's for
If you've shipped code that works but wouldn't want anyone to read it, this is the book. Mid-level developers who want shared language for code review will get the most from the named-move catalog. Read it before you refactor a legacy codebase, not after. Pragmatic Programmer readers who skipped this one are missing the operational companion. If you've already absorbed the vocabulary through osmosis and team culture, the marginal return drops — but the 'two hats' chapter alone is worth checking whether your understanding of it matches Fowler's.
Mentions over time
Which Reddit comments matter for Refactoring?
Top-upvoted quotes across the subreddits where this book is mentioned. Click through to read the full thread.
“The Pragmatic Programmer is like the cornerstone for code quality. As well as Clean Code. EDIT: I'm going to include a few more that I think will help for your career. * Clean Architecture by Robert C Martin (the whole Clean series is good) * Code Simplicity by Max Kanat-Alexander * Refactoring:…
“Here's the list, for anyone interested in just that: 1. The Pragmatic Programmer by David Thomas & Andrew Hunt (67% recommended) 2. Clean Code by Robert C. Martin (66% recommended) 3. Code Complete by Steve McConnell (42% recommended) 4. Refactoring by Martin Fowler (35% recommended) 5. Hea…
“I would recommend Martin Fowler's Refactoring over Clean Code. I read both and found Refactoring to be a much cleaner read.
“Great list! I would personally add in two more: * Refactoring: Improving thr Design of Existing Code (Martin Fowler) * Debugging: 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems(Dave Agans)
“From reading the responses here, I see that quite a few people still don't really understand TDD. Source: Have worked in full blown XP teams since 1999. ​ Because it's called TEST Driven Development people focus on the "test" part. But the test part isn't actually the point. The point is…
“Martin Fowler wrote this of "YAGNI" or "You Aren't Going to Need It" (excess abstractions and premature optimizations): > Now we understand why yagni is important we can dig into a common confusion about yagni. Yagni only applies to capabilities built into the software to support a presumptive feat…
“Go read “Refactoring” by Martin Fowler Among the many insights, one that stands out for me is Do not wear your refactoring and design hats at the sane time. That is to say: if you are refactoring, your test suite should pass at the end without being changed. If you are writing new code that would r…
“You need to build up a foundational set of programming skills. Frameworks and libraries are important to know, but not as important as knowing how to program. The difference between a program/website/webapp that works, and a program/website/webapp that works AND has sensible code, is significant to …
Convinced? Pick up Refactoring
Readers also mention
Books that share discussion threads with Refactoring — counted from the comments, not curated.
Working Effectively with Legacy Code
Michael C. Feathers
Michael Feathers wrote the book for the developer who just inherited 30 devs' worth of code across 5 years in 5 different styles and has to ship next quarter.
The Pragmatic Programmer
Andy Hunt
Two veterans hand you a checklist for the craft: don't write code you don't need, own your tools, and fix the broken window before someone else does.
Design Patterns
Erich Gamma
The 1994 Gang of Four catalog that named 23 object-oriented patterns, gave developers a shared vocabulary, and taught a generation to over-apply both.
Clean Code
Robert C. Martin
The book 536 Reddit threads cite when arguing about naming variables — revered by beginners, argued over by seniors.
Head First Design Patterns
Eric Freeman
A pattern book that shows up on every 'essential reading' list while experienced devs debate whether you still need the Head First version.
Code Complete
Steve McConnell
Steve McConnell's 900-page construction manual for software, ranked third on Reddit's canonical reading list and still cited 25 years after publication.
Refactoring — frequently asked
Is Refactoring better than Clean Code?+
Depends on what you want. A r/cscareerquestions commenter with 193 upvotes called Refactoring 'a much cleaner read' than Clean Code. Fowler gives you a named catalog of specific moves; Martin gives you principles. Reddit recommends both, but if you're choosing one first, the data here shows Refactoring generates less controversy and more direct application.
What does Reddit actually say about Refactoring by Martin Fowler?+
Broadly positive but not loud about it. The sentiment is mildly positive overall. Nobody argues the book is wrong. The debate, when there is one, is whether a working developer needs a book to name moves they already do intuitively.
Should I read Refactoring if I've already read The Pragmatic Programmer?+
Yes. r/programming's crowdsourced list ranked Pragmatic Programmer first and Refactoring fourth, but they cover different ground. Pragmatic Programmer is about professional habits; Refactoring is about the specific mechanical moves for restructuring code you already have. r/cscareerquestions treats both as part of the same foundational reading list.
Is Refactoring still relevant in 2026?+
11 mentions in 2025 across the tracked subs, with r/cscareerquestions and r/programming still citing it as a career read. The named-move vocabulary is language-agnostic enough to survive framework churn. r/webdev was still quoting the 'two hats' rule from it in 2024. The examples age, the principles don't.