Addison-Wesley Professional, 2009. — 480 p. — ISBN 978-0321603500.
With refactoring, programmers can transform even the most chaotic software into well-designed systems that are far easier to evolve and maintain. What’s more, they can do it one step at a time, through a series of simple, proven steps. Now, there’s an authoritative and extensively updated version of Martin Fowler’s classic refactoring book that utilizes Ruby examples and idioms throughout–not code adapted from Java or any other environment.
The authors introduce a detailed catalog of more than 70 proven Ruby refactorings, with specific guidance on when to apply each of them, step-by-step instructions for using them, and example code illustrating how they work. Many of the authors’ refactorings use powerful Ruby-specific features, and all code samples are available for download.
Leveraging Fowler’s original concepts, the authors show how to perform refactoring in a controlled, efficient, incremental manner, so you methodically improve your code’s structure without introducing new bugs. Whatever your role in writing or maintaining Ruby code, this book will be an indispensable resource.
This book will help youUnderstand the core principles of refactoring and the reasons for doing it
Recognize “bad smells” in your Ruby code
Rework bad designs into well-designed code, one step at a time
Build tests to make sure your refactorings work properly
Understand the challenges of refactoring and how they can be overcome
Compose methods to package code properly
Move features between objects to place responsibilities where they fit best
Organize data to make it easier to work with
Simplify conditional expressions and make more effective use of polymorphism
Create interfaces that are easier to understand and use
Generalize more effectively
Perform larger refactorings that transform entire software systems and may take months or years
Successfully refactor Ruby on Rails code