A guide for programming in style.
Switch branches/tags
Nothing to show
Clone or download
mike-burns Library decisions go elsewhere
Keep the guides as just that: guides. Our best practices are not the
place to keep decisions about which libraries are best at solving which
problem; that goes in templates and project generators.

Move oj into Suspenders in
thoughtbot/suspenders#923 .

Inspired by #509.
Latest commit 05f316e Jul 20, 2018



Reviewed by Hound

Guides for getting things done, programming well, and programming in style.

High level guidelines:

  • Be consistent.
  • Don't rewrite existing code to follow this guide.
  • Don't violate a guideline without a good reason.
  • A reason is good when you can convince a teammate.

A note on the language:

  • "Avoid" means don't do it unless you have good reason.
  • "Don't" means there's never a good reason.
  • "Prefer" indicates a better option and its alternative to watch out for.
  • "Use" is a positive instruction.


Please read the contribution guidelines before submitting a pull request.

In particular: if you have commit access, please don't merge changes without waiting a week for everybody to leave feedback.


Thank you, contributors!


Guides is maintained by thoughtbot, inc.


Guides is © 2018 thoughtbot, inc. It is distributed under the Creative Commons Attribution License.

The names and logos for thoughtbot are trademarks of thoughtbot, inc.