We don't actually have "coding rules" at Bureau 14, at least, not in the sense you would expect them.
One one hand, we think it's best to give as much freedom as possible to the developers and prevent rules to get in the way of evolution.
On the other hand, we don't want our code to become a mess and need some easy to follow guidelines to help homogeneity and convergence.
So here I present to you, the official Bureau 14 coding rules!
I don't want Bureau 14 to become the place where people say "I don't know why it's like that, it's always been that way, just follow the procedure". Ever. That's why I've created this golden rule, back when I was alone in the company, in 2008, that applies to anyone, whether the job is to empty the trash or negotiate big deals:
You've been hired to solve problems and create wealth, not to follow rules. If something doesn't make sense, it's your duty to make sure it eventually does.
I never forget to repeat it to myself from time to time.
This is our constitution. See that as the meta-rules, the Geist of how we work. A way to remember how we should organize ourselves and what we strive for. We never change the constitution except when we change it. You know what's nice about democracy? It doesn't apply here.
These rules are here to prevent useless and endless debate about how code should be indented and where braces belong.
We're sorry if you don't like them but at some point you have to accept you can't satisfy all the fetishes. Most of these rules are automatically tested and will break the build if not abided to.
Life is tough, better get used to it.
These are not rules but rather advices, guidelines. You are most guaranteed to find a code fragment that doesn’t "respect" these rules of thumb, generally accompanied by a comment with a decent amount of profanity.