Next: Extend and refine
Up: Principles
Previous: Separate interfaces and
- Have one name per concept (3Cs).
- Don't clutter name spaces with synonyms.
- Use logically consistent overloading and polymorphism
- Avoid featurism for its own sake.
- Use minimum number of parameters to include variability.
- Use nested namespaces, classes, packages (ADA)
- Parameterize (e.g., with pointers to functions, callbacks in
C).
- Create minimal complete functional units. May be done via
axiomatization (proving completeness of a minimum number of
features).
- Supports layering, nesting (use smaller scope).
- Improves ease of use.
- Improves extensibility and layerability.
Doug Lea
Sat Apr 8 09:58:22 EDT 1995