Recommended for you

Our recommendation engine has come up with some personalized suggestions for you.

Discover more products

    Is this your street address?

    Card

    ···· ···· ···· 4242
    Test card

    05/18

    Card

    Use a different card?

    Card

    or pay with

    We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

    or pay with

    Please confirm your location:
    Your card will be charged .

    Thank you!

      Gumroad Library

      Download from the App Store or text yourself a link to the app

      Download from the App Store or text yourself a link to the app

      Send SMS
      Nevermind

      $30

        Ruby Science

        Ruby Science

        The reference for writing fantastic Rails applications

        You build web applications, and you love Ruby on Rails because it provides a framework for developing applications that are are fast, fun, and easy to change. Over time these applications can become bloated, development slows down, and changes to the codebase become painful.

        This book was written to help you learn to detect emerging problems in your codebase; we’ll deliver the solutions for fixing them, and maintaining an application that will be fun to work on for years to come.

        Download a free sample chapter.

        More than just a book

        In addition to the book (in HTML, PDF, EPUB, and Kindle formats), you also get a complete example application.

        The book is written using Markdown and distributed via GitHub. When you purchase, we give you access directly to the repository, so you can use the GitHub comment and issue features to give us feedback about what we’ve written and what you’d like to see. Last but not least, also included is a Ruby on Rails reference application. What the book describes and explains, the example app demonstrates with real, working code. Fully up to date for Rails 3.2.

        When you purchase Ruby Science, you get access all future updates to the book and example application.

        Table of Contents

        Introduction

        Code Smells

        • Long Method
        • Large Class
        • Feature Envy
        • Case Statement
        • High Fan-out
        • Shotgun Surgery
        • Divergent Change
        • Long Parameter List
        • Duplicated Code
        • Uncommunicative Name
        • Single Table Inheritance (STI)
        • Parallel Inheritance Hierarchies*
        • Comments
        • Mixin
        • Callback

        Solutions

        • Replace Conditional with Polymorphism
        • Replace conditional with Null Object
        • Extract method
        • Rename Method
        • Extract Class
        • Extract Value Object
        • Extract Decorator
        • Extract Partial
        • Extract Validator
        • Introduce Explaining Variable
        • Introduce Observer
        • Introduce Form Object
        • Introduce Parameter Object
        • Use class as Factory
        • Move method
        • Inline class
        • Inject dependencies
        • Replace Subclasses with Strategies
        • Replace mixin with composition
        • Replace Callback with Method
        • Use convention over configuration
        • Introduce Visitor

        Principles

        • DRY
        • Single responsibility principle
        • Tell, Don’t Ask
        • Law of Demeter
        • Composition over inheritance
        • Open/closed principle
        • Dependency inversion principle


        Ruby Science was written by Joe Ferris, Harlow Ward, and thoughtbot.

        Sorry, this item is not available in your location.
        Sold out, please go back and pick another option.

        You've already purchased this product.

        • You'll get .pdf, .mobi, .epub, and .html files
        • PDF Length 227 pages

        Card

        ···· ···· ···· 4242
        Test card

        05/18

        Card

        Use a different card?

        Card

        or pay with

        We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

        or pay with

        Please confirm your location:
        Your card will be charged US$30.

        Your rental will be available for 30 days. Once started, you’ll have 72 hours to watch it as much as you’d like!

        Thank you!

          Gumroad Library

          Download from the App Store or text yourself a link to the app

          Download from the App Store or text yourself a link to the app

          Send SMS
          Nevermind

          Thank you for your purchase!

          If you’re not happy, just let us know within 30 days and we’ll refund your money. It’s as simple as that.