模块化原则,Unix 程序员的传统
模块化 API 设计
模块化代码的首要特质就是封装。封装性好的模块不会过多向外部暴露自身细节,不会直接调用其他模块内部实现代码,更不会胡乱共享全局数据。模块直接通过定义严格的 API 通信。
- API 在实现层面阻止模块内部细节被相邻模块知晓,在设计层面,API(而非模块的实现代码)定义整个系统体系。
- 好的 API 设计需要能用人类语言描述清楚。
Hotton U 型曲线
Hotton U 型曲线描述了系统模块大小和缺陷密度的关系图。经验数据表明,在假定其他因素都相同的情况下,200-400 行逻辑代码行是可能的缺陷密度最小点。对应的物理行数是400-800行。