Software Development Rules
From Software Carpentry by Dr. Greg Wilson.
- A week of hard work can sometimes save you an hour of thought.
- Anything worth repeating is worth automating.
- Anything repeated in two or more places will eventually be wrong in at least one.
- The three chief virtues of a programmer are laziness, impatience, and hubris.
- It's not what you know, it's what you can.
- The deadline isn't when you're supposed to finish; the deadline is when it starts to be late.
- Never debug standing up.
- Tools are signposts, not destinations.
- Not everything worth doing is worth doing well.
- Code unto others as you would have others code unto you.
- Every complex file format eventually turns into a badly-designed programming language.
- Tools are amplifiers: they allow good programmers to be better, and bad ones to be worse.
- They call it computer science because it's experimental.
- Programs come and go; data is forever.
- There's no such thing as one program.
- Discipline matters more than genius; reality matters more than rulebooks.
