Refactoring: Ruby Edition: Ruby Edition (Addison-Wesley Professional Ruby Series)
The Definitive Refactoring Guide, Fully Revamped for Ruby
Â
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 you
€   Understand 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