1. Code for human consumption
2. Comment often and comment well
3. Layout code to increase legibility
4. Expect the unexpected and deal with it
5. Name your variables to aid readability
6. Keep your functions and subroutines simple
7. Scope functions and variables appropriately