Refactoring Rails

Ship like your Rails app is still brand new

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.

image_84

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!

FAQs

Who is this for?

Developers who have seen their shipping speed slow down due to the technical complexity in their Rails app(s).

What are the videos like?

Tons of live coding. You’ll learn from the core content of the videos, but also seeing how I tackle problems, perform TDD, use my editor and recover from errors.

How many videos are there?

The course consists of 8 videos. Total runtime is about 2.5 hours.

Is this course for beginners?

Not this time. The skill level varies from intermediate to advanced. Familiarity with Rails is assumed.