Goodreads helps you keep track of books you want to read.
Start by marking “Refactoring: Ruby Edition” as Want to Read:
Refactoring: Ruby Edition
Enlarge cover
Rate this book
Clear rating
Open Preview

Refactoring: Ruby Edition (Addison-Wesley Professional Ruby Series)

4.08  ·  Rating details ·  173 Ratings  ·  16 Reviews
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 through a series of simple, proven steps. This book features Ruby examples and idioms throughout - not code adapted from Java or any other environment.
Hardcover, 454 pages
Published October 27th 2009 by Addison-Wesley (first published October 5th 2009)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Refactoring, please sign up.

Be the first to ask a question about Refactoring

Community Reviews

(showing 1-30)
Rating details
Sort: Default
Ash Moran
Jan 02, 2010 rated it really liked it
There's some good stuff and some not so good stuff in here.

The discussion about the refactoring principles and process are excellent. It ties in well with the explicit mechanics of the refactoring, which is about being able to take small, behaviour-preserving steps.

Some of the examples are suspect though. The authors point out that the refactorings are not designed to demonstrate a business model, but some of the use of Mountain Bike classes just seem way off. Also, while they don't fully factor
Tim McGilchrist
Feb 10, 2013 rated it really liked it
Nothing revolutionary to any experienced programmer, but a nice confirmation of how to do refactoring Ruby style.
It's a great book to have in the office for starting discussions about how a piece of code should look.

I flew through the first 100 or so pages, but the catalogue of patterns stopped me dead. That section of the book deserves to be read in small chunks as you find offending code in your own codebase.

I read the original version in Java but I feel like I got more out of the Ruby version
Refactoring 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." This is a Ruby version of the original book on Refactoring. It's basically the same thing using Ruby instead of Java, with a couple of new refactorings specific to Ruby. I love this books emphasis on quality design through tiny changes, as well as its reversal of the traditional design-code-test to test-code-design. Not only is it ...more
Chris Berkhout
Mar 01, 2011 rated it really liked it
Shelves: tech, ruby
This could do with a second edition, but don't let that put you off! The foundation of Martin Fowler's original makes this book an important one. If you're working with Ruby or another dynamic language (rather than Java) then it's worth having the examples in Ruby and the relevant extra refactorings. Pick up this book to learn about refactoring (not the details of Ruby syntax) and you won't be disappointed.
Michael Koby
A must read for any Ruby developer who isn't familiar with the specifics of refactoring. If you've heard of refactoring and think you're doing it when you move code around, you're probably doing some variation of the specific refactorings discussed in this book. You need to read this book to better understand the various kinds of refactoring that you can utilize to clean up your code base so that it's more readable and maintainable.
Bill Gathen
Nov 11, 2012 rated it really liked it  ·  review of another edition
Excellent introduction to the discipline of refactoring. You'll see these lessons reappear everywhere both in your code and in other learning materials. Part of the canon of programming (and now without all the Java!)

Favorite quote: How will you know when you are really getting it? When you start to calm down. When you feel absolute confidence that no matter how screwed-up someone left it, you can make the code better, enough better to keep making progress.
Aug 05, 2012 rated it it was amazing  ·  review of another edition
Must read for ruby developers

Best quote:

You are likely to see new possibilities in your code, even if you have worked with it for years, once you know about the smells and the refactorings that can sterilize them. You may even want to jump in and clean up every problem in sight. Don't. No manager wants to hear the team say it has to stop for three months to clean up the mess it has created. And, well, they shouldn't. A big refactoring is a recipe for disaster.
Apr 09, 2013 rated it liked it  ·  review of another edition
Shelves: programming
Good material and remains useful as a reference, but I take issue with the style of presenting each refactoring. It's effectively backwards, with a concluding recap first (minus any context), then paragraphs of detail, then an introduction to each refactoring. Very strange, but it can be parsed easily I guess.
Jun 06, 2014 rated it it was amazing
Much of the ideas told in this book are known from the Clean Code. But there was still many other valuable hints for use. And yes I would use this book as a reference too. Just put onto the valuable list of books.
May 16, 2016 rated it liked it  ·  review of another edition
Shelves: software-dev
About 80% of the book is about refactoring strategies you will already know if you've been programming for more than a year (though you will not have explicit names for the strategies). So, only about 20% of the book is useful for intermediate/experienced programmers.
Jan 01, 2013 rated it it was ok  ·  review of another edition
Shelves: programming, american
Very derivative edition of the Martin Fowler classic.
Ladislav Prskavec
Best book about refactoring in basic way.
Aug 28, 2011 rated it liked it
I bought the hardcover years ago and gave it away. Reading this 5 years after it was written feels strange. All examples are not perfect. Better but not ideal.
Michael Economy
Oct 26, 2009 rated it it was ok
Shelves: work-related
Theres some good sections, but overall this wasn't very useful.
Curtis Schofield
Jun 12, 2010 rated it really liked it
it's a gem.
Gabe Saravia
rated it liked it
Sep 20, 2016
rated it it was amazing
Feb 16, 2013
Emmanuel Joubaud
rated it it was amazing
Nov 23, 2014
rated it it was amazing
Dec 08, 2008
Christopher Caplinger
rated it really liked it
Jun 06, 2013
rated it it was amazing
Jan 19, 2015
rated it really liked it
Nov 28, 2011
rated it liked it
Dec 27, 2015
Christopher Voltz
rated it really liked it
Mar 17, 2012
David Robles
rated it it was amazing
Sep 19, 2012
Juan Lulkin
rated it it was amazing
May 06, 2014
rated it it was ok
Jan 12, 2018
Eric Brooke
rated it liked it
Mar 25, 2014
rated it really liked it
Jan 01, 2018
« previous 1 3 4 5 6 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Design Patterns in Ruby
  • Exceptional Ruby: Master the Art of Handling Failure in Ruby
  • Ruby Best Practices
  • The Well-Grounded Rubyist
  • Practical Object Oriented Design in Ruby
  • Metaprogramming Ruby
  • The RSpec Book
  • Rails Antipatterns: Best Practice Ruby on Rails Refactoring
  •  Crafting Rails Applications: Expert Practices for Everyday Rails Development
  • Smalltalk Best Practice Patterns
  • The Rails 3 Way
  • Programming Ruby: The Pragmatic Programmers' Guide
  • Working with UNIX Processes
  • Ruby Under a Microscope
  • Understanding Computation: From Simple Machines to Impossible Programs
  • The Ruby Programming Language
  • Growing Object-Oriented Software, Guided by Tests
  • The Cucumber Book
Jay Fields is a software developer at DRW Trading, conference speaker, and author. He has a passion for discovering and maturing innovative solutions. His most recent work has been in maturing software design through developer testing and software testing in general.
More about Jay Fields...

Other Books in the Series

Addison-Wesley Professional Ruby Series (1 - 10 of 14 books)
  • Practical Object Oriented Design in Ruby
  • Eloquent Ruby
  • Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series)
  • The Rails 3 Way
  • Rails Antipatterns: Best Practice Ruby on Rails Refactoring
  • Service-Oriented Design with Ruby and Rails
  • Distributed Programming with Ruby
  • Design Patterns in Ruby
  • The Rails Way
  • Professional Ruby Series Writing Efficient Ruby Code