第0 部分
可靠性可以通过限制只使用面向对象规范中的一个更容易测试的子集来获得。
0.2.1 循环依赖
逻辑上 不能理解 不能单独使用系统的任何一部分
例子 电路,电线,元件
必须互相包含.h文件
0.2.2 过度的连接时依赖
连接时间长(?),导致尽量使用”重量级组件“ 而非”轻量级组件“。
结果 巨大”恐龙类“
0.2.3 过多的编译时依赖
修改.h文件导致多个编译单元重新编译。
例子myerrr.h
多个新组件都会有新的errror列表,并未标示在主列表中
不必要的全局名称空间污染
Typedef int TargetId;
嵌入类的内部。
类作用域内的typedef是容易找到的.
(此处倒是可以商榷?现代IDE 的搜索和 定义查找功能已经足够强大)
0.2.4 物理设计
0.3 重用
何时重用代码 和 何时使代码能重用
重用不是无开销的,重用蕴含了耦合,没有保障的重用应当避免。
0.4 质量
为了易于测试而设计,是构造大型和超大型系统等最重要的事情。
等我们能测试软件的时候,软件的内在质量早已形成了