Minimize number of methods
- Minimize the number of messages in the protocol of a class. --Riel's Heuristic 2.3, Arthur Riel 1996
This heuristic ensures that you can always find the method that you are looking for, and enhances reusability. This is tied to the idea of You ain't gonna need it - don't implement methods until you need them. With recent automated documentation systems such as javadoc and Microsoft Intellisense this heuristic has become somewhat less important. Poorly documented classes with large numbers of methods can still cause a problem for people unfamiliar with them but this problem has been greatly reduced.
This heuristic of course only applies to public methods
An opposing force is Behavioral completeness.