To maximize the ability of other designers and developers to understand, debug, and reuse your code, consider the following guidelines.

Modularity

Subclassing

Properties

Coding style and naming conventions

Styling