Confident Ruby
Confident Ruby is, first and foremost, a book about joy. It’s about the joy I found when I first discovered how elegantly and succinctly I could state problems in Ruby code.
What is “Confident Ruby” about?
Confident Ruby is, first and foremost, a book about joy. It’s about the joy I found when I first discovered how elegantly and succinctly I could state problems in Ruby code. It’s about the joy I gradually lost as the “real world” snuck in and cluttered my code with distracting edge case scenarios, error handling, and checks for nil. And it’s about how I came to recapture that joy, by employing small patterns and stylistic choices to make each method tell a coherent story.
The structure of the book is that of a patterns catalog. But these are not large, heavy-weight architectural patterns. These patterns are small, most of them taking place at the level of an individual method or even a single line of code. They are related by a single organizing principle: removing the uncertainty that leads to code constantly second-guessing itself; and replacing it with a confident, clear focus on the task at hand.
Who should read “Confident Ruby”?
For experienced programmers
What will you learn in “Confident Ruby”
- 32 patterns for writing confident code.
- How to avoid the “MacGyver method”—a step-by-step guide to thinking about methods in terms of the story they tell rather than the building blocks that happen to be lying around.
- The most comprehensive coverage anywhere of Ruby’s conversion methods and protocols. You’ll learn not just how to convert built-in objects from one to another, and when to use #to_a vs. #to_ary vs. Array(); but also how to adopt Ruby’s conversion conventions to make your own objects powerfully extensible.
- How to streamline your code and eliminate repetitive conditionals with the Special Case and Null Object patterns… and how to avoid the gotchas that can come with naive implementations of these patterns.
- Simple habits to eliminate the dreaded “NoMethodError for NilClass” exception.
- How to make your methods more flexible by passing in behavior instead of data.
- How to helpfully deliver results from your methods when the possible outcomes are more nuanced than “success” or “failure”.
- An applied demonstration of refactoring two Open-Source Ruby projects using patterns from the book.
- And much, much more… nearly 300 pages of material and hundreds of code listings.