Writing good programs
Here's the actual presentation:
Here's some notes:
Think!
- Learning to think about your own process
The three chief virtues of a programmer are: Laziness, Impatience and Hubris - Larry Wall - http://www.netropolis.org/hash/perl/virtue.html
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