/guides

General contributing guidelines and coding standards.

Guides

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

Every line of code should appear to be written by a single person, no matter the number of contributors.

High level guidelines:

  • Be consistent
  • Don't violate a guideline without a good reason
  • A reason is good when you can convince a teammate
  • When a new guideline is introduced, don't rewrite existing code to follow it
  • When a change in a guideline breaks an existing one or requires lot of code changes, it should be followed only in the next version of software
  • If a guideline conflicts with other existing guides then treat the one in this guide as final

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
  • "Always" indicates the best option

Further Reading