Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...

Top Sellers in this Category

Design Patterns: Elements of Reusable Object-Oriented Software

Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides

Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code
by Martin Fowler; Kent Beck; John Brant; William Opdyke; Don Roberts

The Ruby Programming Language, 1st Edition

The Ruby Programming Language, 1st Edition
by David Flanagan; Yukihiro Matsumoto

Head First Rails

Head First Rails
by David Griffiths

This is the Safari online edition of the printed book.

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

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.0 out of 5 rating Based on 4 Ratings

Code Poetry how to - 2009-10-25
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Got it yesterday and cannot detach it from my hands. I won't list a review of content here because it's on the book preview.

Techniques you might already be doing intuitively, and many you probably don't, are described with clear examples and detail helping you convert intuitive decisions into a continuous working method.

This book is a cornerstone for people who is serious about Ruby and want their code to be readable, robust, built from testing, beautiful and easy to change.

Disappointing revision of a classic. - 2010-01-08
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I've been reading "Refactoring, Ruby Edition" alongside the original edition, which I bought used a few months ago, not knowing that this book was in the works.

One thing I've learned is that the original is an excellent book, one that probably ranks with "Design Patterns" in practical programming literature. Second, the revising authors added some valuable new material on refactoring in a Ruby environment.

However, "Refactoring, Ruby Edition" seems in some ways to be a sloppy and poorly-edited attempt to cash in on the original. I've found errors on almost every page I've read. It looks as if someone cut and paste the text from the original into a new document, quickly converted the Java examples to Ruby (without testing or review, given some of the errors), and went to press.

My guess is that this was the idea of someone who knows that there are lots of new Ruby programmers who don't have a grounding in Java and are therefore intimidated by the original book. That idea is fine -- Russ Olsen's "Design Patterns in Ruby" seems to be a thorough and careful reworking of that book for a Ruby audience -- but the execution here is really lame. Here are some specifics:

* There are many errors in the code examples and UML diagrams that make them difficult to follow. Until you realize they're errors, you think you're missing something; that kind of thing is tough for novice programmers to identify and correct for. (Ironically, given that the name of the book is "refactoring", these errors aren't in the first edition.)

* The original edition contained illustrative anecdotes about refactoring practice that were clearly presented as call-outs with graphic design techniques like boxing and shaded backgrounds. These design hints are missing from the new edition, and the anecdotes (by other authors) interrupt the text in a confusing way, since they look like a regular part of the text-flow.

* The reader is advised to use the "table in the inside back cover" to identify and address code smells, but there is no table in the inside back cover. There is one in the original edition, however, and it's quite useful. Who knows whether the table was supposed to be included but was forgotten, or was intentionally left out to cut costs?

It seems like no one took another look at this book once the first-draft manuscript was in hand. Martin Fowler and Jay Fields have contributed an enormous amount to the industry, and I'm surprised they would put their names on something this sloppy. Addison-Wesley charges a lot for their books, and they should provide a carefully-edited product in return.

Mediocre - 2010-01-30
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
If you are familiar with the Java version, you won't learn anything new from this book. If you are learning Ruby and are interested in this book, you should at least wait for a later edition that will hopefully fix all of the typos and mistakes.

The definitive, fully revamped guide for Ruby programming - 2010-01-12
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Any advanced programmer's library needs Jay Fields, et.al.'s REFACTORING RUBY EDITION, the definitive, fully revamped guide for Ruby programming. Programmers can change even the most chaotic software into disciplined, logical systems through refactoring - and this teaches the basics of refactoring and its logic, how to rework bad designs into good code, building tests and organizing data, and more.

Browse Similar Topics

Top Level Categories:
Programming
Software Engineering

Sub-Categories:
Programming > Ruby
Software Engineering > OOP

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2010 Safari Books Online. All rights reserved.