4: Code should speak for itself. Less comments = less maintenance.
5: Leave the code better than you found it.
6: Single-responsibility code. i.e function does 1 thing well. Less arguments = better function.classes: most methods use most of the class' properties.
7: Tests (TDD).
8: Work on big picture skeleton, then fill in the details later . (interface first, implementation later).
9: Independent components that can be used in different places.