一、影响复杂度控制的因素总结
1)架构。要拥有绝对良好的架构。否则操作系统这种“高楼大厦”是不可能建成的,建到一半就跨了,而且不坚固。
2)模块性:保持清晰,保持简洁。(keeping it clean,keeping it simple).
要编写复杂软件又不至于一败涂地的唯一方法。
当不够清晰的时候,放弃,重构;直到足够简单清晰,足够局部化为止。把问题缩小到一个足够小的局部范围,这样就可控,可优化,可修改。
模块间的通信,进程间的通信:
模块间通过应用程序接口(API)——一组严密,定义良好的程序调用和数据结构来通信。
3)代码复用性高。
4)命名机制。良好的命名,让它更清晰。当你找不到一个好名字时,说明你对程序的理解还不够
5)利用makefile“城市地图”来控制复杂度;
二、降低程序设计复杂度方法总结
1)加强对编程语言本身的理解可以降低设计时的复杂度。因为由于代码上而出错,由于代码而产生的未知,由于代码而形成的无形压力都将大大减少。