Ken Pugh has a booked titled Prefactoring, which following in the same style as the classic Refactoring
book by Martin Fowler. Instead of identifying ‘code smells’ after the code has been written and modifying the design and implementation to remove poorly designed/implemented or unmaintainable code, Pugh’s book gives a set of guidelines for mistakes to avoid before you start coding.
Pugh has an overview of the book on the Artima website.