Rails AntiPatterns: Best Practice Ruby on Rails Refactoring (Addison-Wesley Professional Ruby) (Addison-Wesley Professional Ruby Series)
S**T
The best intermediate resource to get to the next level. Not just for refactoring, but for learning how to USE Rails.
The ideal and essential book for intermediate level people learning rails. You've gone through the rubyonrails.org guide(s), maybe even micharl hartl's, or baserails (excellent, not so well known resource btw). Now, what? How do you build your own complex idea that have more than just has_many associations, or are clones of popular apps? What does fat model actually mean in practice? How do I loosely couple and APPLY law of demeter?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.
R**Y
Old but still relevant to anyone learning Rails
This is great for the Rails developer transitioning from beginning to intermediate / advanced in his learning of web design. This book covers the many common issues developers can face when designing code for production and how to avoid those "antipatterns"
J**M
Based on rails 3 but still very helpful
References some gems and techniques that are a little outdated but in general a very very helpful resource to take your code from “done” to “done well”.
O**I
Finally, a Rails book worth reading!!!
I'll be honest, prior to reading this book I was starting to lose faith in Ruby on Rails authors. As a beginner to Rails, I've read a number of books to try and make sense of all the black magic going on behind the scenes as well as how to write great code in Rails. Many of those books were either "paint by number" tutorials where you didn't really learn anything appreciable or very complete (and hard to comprehend) reference manuals for everything there is to possibly know about Rails.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!
A**X
A more useful way to teach design patterns
All too often, the 'patterns' books only develop a greenfield example the 'right' way. This is hopelessly optimistic, especially if (as is the case for me) you're teaching undergraduates how to use design patterns; they're not going to get it right the first time. So *refactoring* code that has "grown bad" to use a good pattern is a much more frequently needed skill.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.
M**I
Quite useful if you are just starting
I am not a ROR expert by any stretch (I have been coding on it for about 10 months) however I was able to digest this book in about 2 hours a few months back. The explanations are extremely clear, some of the lessons are sounds others are pretty obvious. For example I found the chapter on Views (ch. 3) and the one on Controllers (ch. 4) quite useful, while ch. from 6 to 8 not so much.Overall a very useful book for novice, almost a must-have I would say. Not so much for more advanced programmers.My suggestion is check the book out before you buy it.
M**C
I Love It!
This book each rails dev should read more than once, it so well written and examples are really good. It contains day to day problems which Rails developers are facing and making bad practice decisions.I must say, I highly recommend each beginner to buy this book along with any beginner level book
Y**G
Good book
Learned some points. Though some other points are obvious for experienced rails developers. It would be more useful for new rails developers.
T**.
This book is good but really out of date
This book is good but really out of date. I think it was written for Rails 2, with later updates for Rails 3.
A**ー
リファクトリングに最高の本
Rails5.2 でも通じるリファクトリングの素晴らしさがつまっています。Railsでもっとうまくコードを書きたい方におすすめの本です。(経験者の方には当然の内容かもしれません。)素晴らしい、私の中では名著です。
H**B
Hilft Ruby-on-Rails Code entscheidend zu verbessern
Dieses Buch enthält entscheidende Tipps besseren Code zu schreiben, die sich in anderen Einsteigerbüchern zum Thema, ja selbst in vertiefenden Darstellungen, nicht finden. Kauf und Lektüre zahlen sich nach kurzer Zeit aus.Ich habe das Buch zuerst für den Kindle gekauft. Auf der Suche nach dem Code zum Buch habe ich auch diesen aufgespürt: In der frei verfügbaren Online-pdf-Version. Die bezahlte Kindle-Version hat gegenüber der pdf zu arw3-konvertierten Version technische Vorteile, wie etwa funktionierende Links.
Trustpilot
1 month ago
1 day ago