读书笔记
chapter 3
- 结构的重要性
- 一个系统结构首先需要一个总体上的概括性描述
- 结构设计中,先找出最终组织形式的几种方案,并应该知道为什么选中了现在的方案
- 一个模块 == 一个能完成某一高级功能的子程序的组合。每个模块该做什么应该明确定义。
- 结构设计应该给出:使用的主要文件,表,数据结构。如果结构设计中选择了a来实现,那它就该解释为什么a好于b和c。
- 主要数据结构关键算法
- 仅允许一个模块访问一个数据结构。
- 如果一个程序使用了数据库,那么结构中应该规定这个数据库的组织形式和内容
- 数据守恒定律:每一个input的数据都应该out,或者于其他数据一起out。如果不out就没必要in。
- 如果结构设计依赖于某一特定算法,那么它应该描述或指出这一算法。并指出选择它的原因。
- 通用功能(p34)
- 用户界面
- 输入输出
- 内存管理
-
- 结构中应对正常和极端情况下所需的内存做出估计。
4. 字符串储存
-
- 应当估计被字符串所占用的内存。
- 应当考虑典型的字符串问题。包括字符串的压缩等。(p35)
5. debug处理
-
- 结构设计中应建立一套处理bug的约定。统一性。
6. 坚固性(robustness)(p36)
-
- over engineering
- assertions
- fault tolerance