- Series: Addison-Wesley Professional Ruby
- Paperback: 400 pages
- Publisher: Addison-Wesley Professional; 1 edition (November 19, 2010)
- Language: English
- ISBN-10: 0321604814
- ISBN-13: 978-0321604811
- Product Dimensions: 7 x 0.7 x 9.1 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 4.4 out of 5 stars See all reviews (14 customer reviews)
- Amazon Best Sellers Rank: #399,852 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Rails AntiPatterns: Best Practice Ruby on Rails Refactoring (Addison-Wesley Professional Ruby) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
O'Reilly Learning Series
Featured 'Learning' Series from O'Reilly Media. See more
Frequently bought together
Customers who bought this item also bought
About the Author
Chad Pytel is the founder and CEO of thoughtbot, a software development firm specializing in Ruby on Rails, and creators of Paperclip, Shoulda, FactoryGirl, and Hoptoad, among other projects. thoughtbot embraces both agile development methodologies and a “getting real” project philosophy. Chad coauthored Pro Active Record: Databases with Ruby and Rails (Apress, 2007) and has presented at various conferences around the world. To follow along with Chad and the rest of the thoughtbot team’s ideas on development, design, technology, and business, visit their blog at http://robots.thoughtbot.com.
Tammer Saleh is the director of engineering at Engine Yard. He wrote the Shoulda testing framework, was the primary developer and project manager for thoughtbot’s fantastic Hoptoad service, and is an experienced Ruby on Rails trainer and speaker. In previous lives, he’s done AI development for the NCSA and the University of Illinois, as well as systems administration for both Citysearch.com and Caltech’s Earthquake Detection Network. You can find him online at http://tammersaleh.com.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
I just needed a good in between book! This book not only exposes you to the Rails Way of writing code in Ruby on Rails, it also gives many of the opposing examples which I would more than likely stumble down not knowing any better.
Not only that, but this is one of the most logically organized books I have ever had the pleasure to read. Everything flows together very nicely and is very understandable for beginners let alone more advanced users.
I would recommend this book in a heart beat (and I already have... many, many times). Great job guys! I really appreciate the effort you put into writing this book! You have restored my faith in Rails authors!
This book is not just about what not to do, or refractoring things to that it's extra "rails-y". The reason it's so valuable for intermediate developers is because by seeing the recommended ways to implement, and organize your code, against anti-patterns (aka bad practices that don't fully utilize what rails designed to make neat and concise), you get to LEARN the rails methods and features that don't even show up in all of the beginner rails tutorials in out there, and you get to learn exactly how to USE methods and features that rails has to offer without going into ultra low level ruby that leave you scratching your head, and frustrated.
Just like how object oriented design philosophy tells you to use interfaces to not care about the detailed implementation of distant objects, so too should teaching something relatively complicated and confusing like a framework teach you how and what to use its methods and features without bogging you down with every single detail about the method, or approaching it from such a highly academic, and non-practical way. This book does just that. It gives you a bad example, explains the most useful and practical way of improving it, shows you the new example (even multiple examples as it increments the improvements by illustrating one concept at a time), and you end up with the knowledge to APPLY those principles concretely to your own app you might be building. APIs, the rubyonrails.org guides, even apidock doesn't do this that well. As good as stack overflow is, it's quite difficult to get to know rails well as an intermediate level learner of rails, since SO's answers are often not organized, go into too much or too little detail, can be targeted at advance level developers, as well as you not knowing what you should study next.
Sandi Metz's design patterns in ruby book is extremely well written, and rated extremely highly. You will see the similar styles, intentions of conveying thorough, but concise knowledge of practices, and also find it very useful. while object oriented programing in ruby is important, and very good, you will end up not knowing how to implement it, as it is rather distant from rails. This book is what you should read before Sandi's book, where it's in a similar style, but very applicable and very actionable to rails, and your project(s) that you may be building for a portfolio to land that junior rails developer job.
I'm very surprised this book doesn't have that many reviews. I think it is truly one of the essential books in the track for someone who wants to become a senior developer from zero programming familiarity. This book fills an essential gap in the spectrum of difficulty and progress.
P.S. to those who say this book contains too many useless, and obvious bad design patterns: where did you learn these concepts before? I couldn't find many good resources. Even if they're out there, curation is quite a valuable thing. Any review like that should be cognizant of the level of experience imo. Perhaps this book is not as good for seasoned rails developers. But it is truly one of the best and rare resources that fills a ladder rung in the path from beginnerhood to expertise. Again. I'd love to know where other rails developers learned the patterns and practices if not from this book. While working in a company with experienced developers? Well, not everyone has that kind of access to resources. To some, it's a catch-22, where you need to build a portfolio to get a job to get mentored. Disregarding all of that, it's still useful to not to have to rely on person-to-person training, or have to rely on reading the source code. Some people truly are great at code, and can read source code from ground-up as a primary learning method. Some are already seasoned in ruby and rails enough to read it as well. I think seasoned developers are too ignorant of this reality. Others have different learning styles. Some teaching methods are simply statistically faster, easier, and more effective. And for sure that method is not reading the source code.
Disclaimer: I have NO ties or conflicts of interest with any of the resources mentioned in this review.
There are other books on refactoring for Ruby, like Martin's, but i like that this one focuses on design patterns and specifically on how to leverage Ruby's features to realize the patterns nicely.
My future coverage of design patterns in Berkeley's undergraduate software engineering class will be motivated by the examples in this book.
I must say, I highly recommend each beginner to buy this book along with any beginner level book