| 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. |