I’ve been sitting on this document for some time, and decided that it’s finally time to pull my finger out and release it.
These are my coding guidelines. They are not layout guidelines: in fact they are explicitly layout-agnostic.
In my preamble I make it clear that these are guidelines, not tram-lines. Additionally, I have given a rationale for each of the guidelines and described some permitted exceptions from them.
Scrivener is great for composing a document like this, but I haven’t yet figured out how to get it to compile to HTML with all the nice formatting that I get when I compile it to PDF.
So, it’s a PDF, I’m afraid. The permalink for the latest PDF is here.
The versioned Scrivener source is here under MIT licence. It is a living document, so comments and pull requests are welcomed!
Share and enjoy!