Refactoring: Improving the Design of Existing Code (2e) : 9780134757599

Refactoring: Improving the Design of Existing Code (2e)

Published by
Pearson Higher Ed USA
In stock
Title type
Title type

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.

Table of contents
  • 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
New to this edition
Martin Fowler is retaining everything that made Refactoring one of the world’s most popular and influential computer books, while updating with JavaScript examples throughout (to address many programmers’ current preferences) and reflecting today’s programming paradigms. The book’s catalog of individual refactorings has been updated, revised, and expanded.
Features & benefits
  • 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
Author biography

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.