Edit on GitHub

Why standards

  1. Having common standards / a house style / agreed convention, keeps our work consistent across projects.
  2. There are many right ways to do something but if several people do 3 different right things the result is a mess.
  3. We are all professionals, its possible to justify a deviation from convention where appropriate, just consider carefully when doing so.
  4. Repeated deviation means its becoming an exception and we need a discussion to decide if it should be changed.
  5. We value convention over configuration. Too many choices mean we spend too long thinking about the stuff that doesn't matter. A convention defines the boring stuff so what is left is the interesting stuff that makes a project different.

For these reasons we are codifying our best practices into this documentation.

Codex guidelines

  1. Feel free to add or alter anything in these docs, it is all in version control after all.
  2. If you are adding something not yet defined then make a pull request and post a link on #developers slack channel for opinions.
  3. If you are altering the documentation then its polite to ask around beforehand if it might cause alarm. Again, a pull request is a good way to demo the changes.
  4. We value strong opinions, lightly held. Don't be a jerk, its helpful to reach a consensus but if the weight of opinion is against you, please accept it and move on.
  5. If in doubt, create a pull request.

Working guidelines

20 minute rule

If you are working on something new or hard, don't suffer in silence. Give yourself 20 minutes to work it out before asking for help from your colleagues, we all love to help (really we do) - #developers channel on slack is a good place to start.