Johnson and Foote's heuristics
From CSSEMediaWiki
Revision as of 06:54, 8 August 2009 by Matthew Harward (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