Johnson and Foote's heuristics
From CSSEMediaWiki
Revision as of 11:30, 6 October 2008 by RobertLechte (Talk | contribs)
See [Designing Reusable Classes]
- Recursion introduction
- Eliminate case analysis
- Reduce the number of arguments
- Reduce the size of methods
- Class hierarchies should be deep and narrow
- The top of the class hierarchy should be abstract
- Minimize accesses to variables
- Subclasses should be specializations
- Split large classes
- Factor implementation differences into subcomponents
- Separate methods that do not communicate
- Send messages to components instead of to self
- Reduce implicit parameter passing