I think may be bad at following them.
General
Section titled 'General'- Don't be evil.
- Be honest and transparent.
- Never stop discovering new stuff.
- Violate any rule if it's technically impossible to follow.
Digital projects
Section titled 'Digital projects'- An open source license is almost always the right choice.
- If you use someone else's work, they always deserve a credit.
- Hyperlinks shouldn't be broken.
- Being consistent is better than being right at the cost of rewriting everything 5 times over.
UX design
Section titled 'UX design'- Accessibility is not optional.
- Low cognitive load is more important than features or lack of them.
- Sane defaults are more important than configurability.
- If a feature exists, it should be discoverable.
Programming
Section titled 'Programming'General
Section titled 'General'- Correctness is more important than speed.
- Don't be clever. Be dumb and straightforward instead.
- Write everything in a way that it can be read out loud and make sense to a normal person.
- The most important stuff should go first. Don't shove into the end of the file.
- Use technical limitations to your advantage.
- Avoid dependencies as much as possible.
- Avoid language extensions when possible.
- When using a compiler or a lint, use the strictest settings available.
- If something deserves a name, give it one. Don't leave people guessing.
- Get straight to the point and don't overdescribe things.
- Avoid generic words like "manager" and "controller" unless it's absolutely necessary.
- Don't use abbreviations and don't skip letters unless it's a frequently used keyword.
Comments
Section titled 'Comments'- Proper documentation is always better than a comment.
- Comments should describe why your code does something, not what or how. If you feel the need to explain that, write better code instead.
- Don't use comments to explain the meaning of a value. Use variables for that instead.
- Don't use comments to separate code into blocks. Use functions for that instead.
Formatting
Section titled 'Formatting'- Indentation is 4 spaces with only 2 languages being the exception:
- YAML uses 2 spaces.
- Make uses tabs.
- You don't need more than 80 columns of text. If you do, there's probably a better way to do it.
- Be wary of trailing whitespace.
- Make sure files end with a line break, just like they do on Unix.