Writing good programs
Think!
- Learning to think about your own process
- The three chief virtues of a programmer are: Laziness,
Impatience and Hubris - Larry Wall
Owning your code
- Fixing broken windows
- Signing it
- Deliberate coding and coding by coincidence
- Documentation
Orthogonality
- Breaking code into parts and making them separable one from the other
Learning your tools
- Your text editor
- Your language
- Learning several languages
- Differences between languages (high-level, low level)
Assume you will make mistakes
- Make code tests
- Use code repositories
Talk to the duck
- Describe the problem to someone or something to aid thinking
