Over the weekend I had a chance to play around a bit with Rails Best Practices, so I thought I’d share a few thoughts I had regarding it.
In the startup world we often debate the merit of ideas vs execution. In this particular case, the idea behind this product is pretty straightforward. It’s a video course about common idioms and best practices in Rails, that helps you learn how to refactor bad Rails code/anti-patterns/habits into good ones.
Click to enlarge
As is often the case, the implementation is what makes this course really worthwhile. It’s Khan Academy meets Rails (and Khan Academy truly is the future of education).
Rails Best Practices provides a series of small videos that show examples of common bad code that may be used when trying to resolve a particular problem, then they introduce a refactoring that uses best practices to make the code a lot better.
In the process, these videos end up introducing some of the latest tools and features that are available in Rails 3. So if you haven’t made the switch yet from Rails 2 to Rails 3, you’ll find the videos particularly interesting.
This course isn’t just a collection of well produced videos and downloadable slides though. It’s dived into five levels, akin in that regard to a video game. To proceed to the next level, you need to correctly complete and submit all of the exercises for the current level. Each exercise will award you 250 points.
While working on very practical exercises, you’ll be able to reference the videos and re-watch them as often as you please. You’re also able to make mistakes and then see the exceptions that are raised by Ruby.
Click to enlarge
When you complete a level, you’re awarded a badge. As well you’ll receive a few bonuses once you’ve completed the whole course (including a free peepcode.com screencast, $5 codeschool.com credit towards your next purchase, and 35% off all books at InformIT).
I’m a firm believer that the approach to learning in which one is taught by doing exercises in a game-like setting is a highly effective way to help retain the material you’ve has studied. (I should mention that there is a support forum as well, just in case you’re stuck or need some help.)
At $75, this course isn’t exactly a bargain basement deal, however it’s currently on sale for a considerably more wallet friendly $45, and you’ll definitely get your money’s worth if you are a Rails developer.
In conclusion, given that levels are not visible until you pass them, here is the complete table of content, including all the levels, for this course.
Level 1 & 2
Skinny Controller, Fat Model
Scope it out
Models without the DB
Enter the Presenters
Reject SQL Injection
Rails 3 Responder Syntax
Level 3 and 4
Loving your Indices
Protecting your Attributes
Proper use of Callbacks
Sowing the Seeds
N + 1 is not for fun
Counter Cache Money
Batches of Find Each
Law of Demeter
to_s & to_param
No Queries in your View
Empty String Things
Yield to the content_for
Rock your Block Helpers
All in all, I was very pleased with this enjoyable course, and I think that beginner to intermediate Rails developers are the ones who stand to get the most out of it.
Full disclosure: I was granted access to the course for free, and the link to the course contains my affiliate id. Nevertheless, everything above is my frank and honest opinion.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
Antonio Cangiano is a Software Developer and Technical Evangelist at IBM. He authored 'Ruby on Rails for Microsoft Developers' by Wrox (2009) and 'Technical Blogging' by The Pragmatic Bookshelf (2012). He is also the Marketing Lead for Cognitive Class, an IBM educational initiative which he helped grow from zero to 1 Million students. You can follow him on Twitter.