Jump to ratings and reviews
Rate this book

Refactoring: Improving the Design of Existing Code (Addison-Wesley Signature Series

Rate this book
"Whenever you read [Refactoring ], it’s time to read it again. And if you haven’t read it yet, please do before writing another line of code." –David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp


Fully Revised and Updated—Includes New Refactorings and Code Examples



“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
–M. Fowler (1999)

For more than twenty years, experienced programmers worldwide have relied on Martin Fowler’s Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand.


This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes.




Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.

Understand the process and general principles of refactoring Quickly apply useful refactorings to make a program easier to comprehend and change Recognize “bad smells” in code that signal opportunities to refactor Explore the refactorings, each with explanations, motivation, mechanics, and simple examples Build solid tests for your refactorings Recognize tradeoffs and obstacles to refactoring Includes free access to the canonical web edition, with even more refactoring resources. (See inside the book for details about how to access the web edition.)

Kindle Edition

Published November 20, 2018

12 people are currently reading
101 people want to read

About the author

Martin Fowler

46 books1,099 followers
Martin Fowler (b. 1963) is a software engineer, Chief Scientist at ThoughtWorks, and an outspoken advocate for best practices in enterprise software design, particularly in regard to agile software development methodologies, including extreme programming.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
12 (48%)
4 stars
13 (52%)
3 stars
0 (0%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 of 1 review
6 reviews
August 16, 2025
It's a dry read, but good. There's a couple good chapters in the beginning that emphasize the importance and the rest is a cookbook of patterns. Martin Fowler never disappoints.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.