Hi! This is my first review. I thought I would start with a book that really helped me when I was trying to get better with Ruby on Rails.
This book is Rails AntiPatterns: Best Practice Ruby on Rails Refactoring.
What is it about
Rails AntiPatterns, as the name implies, is all about the bad code that we write everyday in our applications, without even realising that it stinks. Starting with the models, the author will show you the things that you SHOULD NOT DO followed by the correct way to do it.
The book contains antipatterns about :
- Models
- Domain Modeling
- Views
- Controllers
- Services
- Third party code
- Testing
- Scaling and Deploying
- Databases
The book is very easy to read with lots of interesting facts about Ruby and Rails. I definitely recommend it to anyone working with Ruby on Rails who isn’t sure if his code is the best he can write.
Who should read this book
This book is addressed to people between the beginner and intermediate state. However, even more advanced developers should take a look, ‘just in case’, to be sure they are following the best practices.
Who should not read this book
Intermediate and advanced Ruby on Rails developers who already know everything about best practices.
Get the book
You can get Rails AntiPatterns on Amazon.
Table of Content
For reference, here’s the table of content :
- Models
- AntiPattern: Voyeuristic Models
- AntiPattern: Fat Models
- AntiPattern: Spaghetti SQL
- AntiPattern: Duplicate Code Duplication
Domain Modeling
- AntiPattern: Authorization Astronaut
- AntiPattern: The Million-Model March
Views
- AntiPattern: PHPitis
- AntiPattern: Markup Mayhem
Controllers
- AntiPattern: Homemade Keys
- AntiPattern: Fat Controller
- AntiPattern: Bloated Sessions
- AntiPattern: Monolithic Controllers
- AntiPattern: Controller of Many Faces
- AntiPattern: A Lost Child Controller
- AntiPattern: Rat’s Nest Resources
- AntiPattern: Evil Twin Controllers
Services
- AntiPattern: Fire and Forget
- AntiPattern: Sluggish Services
- AntiPattern: Pitiful Page Parsing
- AntiPattern: Successful Failure
- AntiPattern: Kraken Code Base
Using Third-Party Code
- AntiPattern: Recutting the Gem
- AntiPattern: Amateur Gemologist
- AntiPattern: Vendor Junk Drawer
- AntiPattern: Miscreant Modification
Testing
- AntiPattern: Fixture Blues
- AntiPattern: Lost in Isolation
- AntiPattern: Mock Suffocation
- AntiPattern: Untested Rake
- AntiPattern: Unprotected Jewels
Scaling and Deploying
- AntiPattern: Scaling Roadblocks
- AntiPattern: Disappearing Assets
- AntiPattern: Sluggish SQL
- AntiPattern: Painful Performance
Databases
- AntiPattern: Messy Migrations
- AntiPattern: Wet Validations
Building for Failure
- AntiPattern: Continual Catastrophe
- AntiPattern: Inaudible Failures