Before software can be reusable it first has to be usable. -- Ralph Johnson

The Programmer's Code

Rule #6 - Adapt and Adopt

Rule #5 - Code for the Maintainer

Rule #4 - Be Explicit

Rule #2 - Fail Fast and Hard