Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Refactoring: Improving the Design of Existing Code

Martin Fowler

9 readers recommend it across 8 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

Parker_Powell
No matter how long you've been a programmer, you're always looking for new ways to hone your craft and learn new techniques. One of the best ways to do that is by reading books on programming—as in, books that are actually about programming. Here's our list of 10 of the best. 1. Code: The Hidden Language of Computer Hardware and Software 2. Clean Code: A Handbook of Agile Software Craftsmanship 3. Refactoring: Improving the Design of Existing Code 4. The Pragmatic Programmer: From Journeyman to Master 5. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability 6. The Mythical Man-Month: Essays on Software Engineering 7. Structure and Interpretation of Computer Programs 8. Introduction to Algorithms (The MIT Press) 9. Programming Pearls (2nd Edition) 10. The Art of Computer Programming
cratermoon
Refactoring: Improving the Design of Existing Code For helping realize that in all the books telling me how to write good code, explaining language constructs, and working as a software developer, none of them ever made it clear to me that programmers spend less than half their time writing new code from scratch. For showing me that programming involves revising and improving far more than opening up an editor to a new file in an empty repo.
Jtsummers
Eric Evans' Domain-Driven Design. I've heard enough about DDD over the years that I figured I'd just go to the source. Liking it so far, I have some good takeaways but we'll see how effectively I'm able to use the ideas over the next couple years. Martin Kleppmann's Designing Data-Intensive Applications. Based on the frequent praise it receives here, haven't gotten far yet. I have some project ideas (for personal and professional projects) that could benefit from reading through it. Martin Fowler's 2018 update to Refactoring. I read the original one a long time ago. In context, we have a work lunch & learn series and I'm interested in doing some presentations on the topic of refactoring (why, how, and when in particular) so it seemed appropriate to refresh my memory on some specific terminology from the book as well as to see if it's an appropriate book to recommend to colleagues. My recollection of the first edition is that I'd recommend it to colleagues, but it's been so long I'd rather read it once more before actually recommending it.…

Also recommended in this reply

un_montagnard
Refactoring by Martin Fowler and Kent Beck. Patterns of Enterprise Application Architecture by Martin Fowler. Domain Driven Design by Eric Evans. Growing Object-Oriented Software, guided by tests by Steve Freeman and Nat Pryce.
troels
"Patterns of Enterprise Application Architecture" by Martin Fowler made a big difference for me at the time. Also, "Domain Driven Design" by Eric Evans. Both have a focus on high level architecture. Of books that are more on the craft of programming, "Refactoring" (Also Fowler) is good. And I enjoyed "Practical Common Lisp" by Peter Seibel too. In general, I suspect that the value of a book has more to do with where the reader is, than where the book is.
nstart
This book when combined with "The Clean Coder", and "Refactoring: Improving the design of existing code" completely changed how I thought about programming. It "levelled me up" so to speak. Even though I'm as far from being good as it gets, I still know I improved significantly from reading these three books.
wiseleo
There are just so many... Headfirst series (JavaScript, HTML, jQuery... all of them) Discover Meteor Refactoring: improving the design of existing code Database design for mere mortals MIT books (SICP, Algorithms) Oh, and of course... Human Interface Guidelines by Apple. One of the best UX books on app design. All books are ebooks for me, so this list is impossibly long.
ramgp
Software development related reads with a strong focus on proven practices that enhance software quality in terms of readability and maintainability (and other software ~ilities) to ease the process of changing the software later on. The Art of Readable Code by Dustin Boswell & Trevor Foucher Don't Make Me Think 2ed by Steve Krug Remote: Office not Required by Jason Fried & DHH The Art of Unit Testing by Roy Osherove Code Complete 2 by Steve McConnell Refactoring: Improving the Design of Existing Code by Martin Fowler The Practice of Programming by Brian Kernighan & Rob Pike JavaScript: The Good Parts by Douglas Crockford Code Simplicity by Max Kanat-Alexander An Introduction to Programming in Go by Caleb Doxsey at http://www.golang-book.com/ Also read: How To Be Black by Baratunde Thurston