《代码大全》读书笔记

  代码大全一共944页,去除最后的参考文献目录也有862页,断断续续用了好几个月才把它看完,中间已经看完了好几本其他的书☺,觉得有必要写一份读书笔记,来总结一下此书中的重点内容,然而此书值得一书的重点太多了,估计写这份读书笔记是一个辛苦的工作。

  在进行增量开发时,我们先做出软件系统的一个尽可能简单、但能运行的版本。它不必接受真实的输入,也无需对数据进行真正的处理,更不用产生真实的输出——他仅仅需要构成一个足够强壮的骨架,支撑起未来将要开发的真实系统。对于你标致出的每一项基本功能,可能仅需要调用虚假的类。这个最基本的起点,就像牡蛎开始孕育珍珠的那颗细小沙粒。   在骨架形成之后,你要一点点地在其上附着肌肉和皮肤:把每个虚假的类替换为真正的类;不再假装接受输入,而是把接收真实输入的代码替换进去;不再假装产生输出,而是把产生真实输出的代码替换进去。你一次增加一小部分代码,直到得到一个完全可以工作的系统。

  架构的典型组成部分:
   1. 程序组织
   2. 主要的类
   3. 数据设计
   4. 业务规则
   5. 用户界面设计
   6. 资源管理
   7. 安全性
   8. 性能
   9. 可伸缩性
   10. 互用性
   11. 国际化/本地化
   12. 输入输出
   13. 错误处理
   14. 可行性
   15. 健壮性

  软件的首要技术是管理复杂度。

  理想设计的特征:
   1.最小的复杂度
   2.易于维护
   3.松散耦合
   4.可拓展性
   5.可重用性
   6.高扇入 (大量的类使用某个给定的类)
   7.低扇出 (一个类少量或适中地使用其他的类)
   8.可移植性
   9.精简性
   10.层次性
   11.标准化

信息隐藏
   1. 隐藏复杂度,
   2. 隐藏变化源(变化发生时,其影响就能被限制在局部范围内。)

  先写到这吧。

kisence

潮落江平未有风。