《修改代码的艺术》读书笔记


第3章 感知和分离

  1. 伪对象 就是指那些在测试中用于伪装成被测试类的”合作者”的对象。
  2. 仿对象(mock object) 就是在内部进行断言检查的伪对象。

第4章 接缝模型

  1. 接缝(seam) 就是指程序中的一些特殊的点,在这些点上你无需做任何修改就可以达到改变程序行为的目的。
  2. 接缝的分类:
    • 预处理接缝: 通过条件编译来改变程序行为。
    • 链接接缝: 通过链接不同的模块来改变程序行为。
    • 对象接缝: 通过继承和多态来改变程序行为。

第8章 添加特性

  1. 测试驱动开发 的流程:
    • 编写一个失败的测试用例。
    • 修改代码,让代码通过编译。
    • 修改代码,让代码通过测试。
    • 消除代码中的重复。
    • 重复以上步骤,直到实现所需的功能。
  2. 差异式编程(Programming by Difference) 是一种遗留代码修改策略:当新需求与现有行为具有大量共同逻辑时,以现有实现作为基准,通过复用它来获得共同行为,并仅为新旧行为之间的差异增加或替换代码,而不是复制或重新实现整个行为。
  3. 差异式编程实际操作过程:找相似行为 → 确定 Baseline → 找 Difference → 找 Seam/扩展点 → 复用旧行为 → 只实现 Difference。

文章作者: Kiba Amor
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 Kiba Amor !
  目录