降低软件复杂性一般原则和方法


子模块的复杂度cp乘以该模块对应的开发时间权重值tp,累加后得到系统的整体复杂度C

原则:
  1. 好的设计是日拱一卒的结果,在日常工作中要重视设计和细节的改进
    1. 拒绝战术编程
    2. 设计两次
  2. 分层是解决复杂性问题的重要原则
    1. 层次和抽象
    2. 复杂性下沉
    3. 不过多进行异常处理
  3. 分模块
    1. 深模块和浅模块
    2. 通用和专用
    3. 信息隐藏
    4. 拆分和合并
  4. 好的注释能够帮助解决软件复杂性问题