Refactoring: Improving the Design of Existing Code, 2nd edition

Published by Addison-Wesley Professional (November 19, 2018) © 2019

  • Martin Fowler

eTextbook

$57.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$52.79

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

  • The first update to a classic that is the standard reference for refactoring in over 15 years
  • Enhanced, web-based features including interactive examples, video snippets, code highlighting
  • Extensive use of JavaScript examples
  • Preface
  • 1. Refactoring, a First Example
  • 2. Principles in Refactoring
  • 3. Bad Smells in Code
  • 4. Building Tests
  • 5. Toward a Catalog of Refactorings
  • 6. Composing Methods
  • 7. Moving Features between Objects
  • 8. Organizing Data
  • 9. Simplifying Conditional Expressions
  • 10. Making Method Calls Simpler
  • 11. Dealing with Generalization
  • 12. Big Refactorings
  • 13. Refactoring, Reuse, and Reality
  • 14. Refactoring Tools
  • 15. Putting It All Together

Martin Fowler is Chief Scientist at ThoughtWorks. He describes himself as “an author, speaker, consultant and general loud-mouth on software development.” Fowler concentrates on designing enterprise software: exploring what makes a good design and what practices are needed to create one.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.