Enhancing Modularity, continued
Carefully Designed Interfaces
Finally, the last step in enhancing modularity is the careful design of interfaces, both general widely-implemented interfaces and application-specific interfaces. Obviously we cannot hope to design every interface that will ever be needed. However, we claim that good interface design is unproductive and effectively discouraged unless the first two requirements, a pervasive namespace and the use of explicit interfaces, are met.