Refactoring Rails

Learn the refactorings, patterns, and best practices that will let you ship quickly even as your Rails app matures.

If you’ve worked on a Rails app for a while, chances are you’ve seen your development speed slow down.
Some of this is inevitable—as the number of features goes up, adding more tends to get harder. However, smart programming decisions can delay this slowdown, and that’s what this course is all about.

I’ve been writing and maintaining Rails apps for 8 years (including 6 at thoughtbot). This course contains the hard-won wisdom I wish I’d had when I got started.

Refactoring Rails contains three types of lessons:
Refactoring techniques you can apply today to help with the specific pains you’re facing.
Best practices you can implement over time, leading to a steady lift in code quality.
Rails features best avoided, to prevent the creeping complexity so common in older apps.

Topics Covered
ActiveRecord callbacks, their drawbacks, and alternatives
Layering on new functionality with Decorators
Simplifying your app with Form Objects
Addressing compound conditionals
Why it’s worth thinking about levels of abstractions
Control Couples, and why to avoid them
Improving tests with Page Objects
Following REST to improve your design
Speeding up your test suite significantly
A nuanced look at “Tell, Don’t Ask”
The four-phase test pattern
Improving the clarity of test failures
Avoiding the Mystery Guest smell
(And many more!)

DOWNLOAD LINK