20 rules of thumb for writing better software.
- Optimize for simplicity first
- Write code for humans, not computers
- Reading is more important than writing
- Any style is fine, as long as it's black
- There should be one way to do it, but seriously this time
- Hide the sharp knives
- Changing the rules is better than adding exceptions
- Libraries are better than frameworks
- Transitive dependencies are a problem
- Dynamic runtime dependencies are a bigger problem
- The surface area of an API is a liability
- Returning early is a good thing
- Plain text is usually best
- Compiler errors are better than runtime errors
- Runtime errors are better than bugs
- Tooling is better than documentation
- Documentation is better than nothing
- Configuration sucks, but so does convention
- The cost of building a feature is its smallest cost
- Types are one honking great idea -- let's do more of those!
Homage and references
Any color the customer wants, as long as it’s black.
-- Henry Ford (maybe)