读书笔记《测试驱动开发》一

单个类的开发原则:

  1. 从类的小功能开始开发,在具体写实现代码之前,先写测试代码。

  2. 通过先写测试代码,能确定类的指定功能较好用的接口。

  3. 小函数开发周期:

    • 先将问题转为一个测试程序

    • 通过存根等方式尽快使代码通过编译

    • 对运行错误的情况进行分析,使得代码可以运行

    • 消除重复设计,优化设计结构(重构)

  4. 尽快使测试程序通过编译的三个原则:

    1. 伪实现:返回一个常量,并逐渐用变量替换常量,知道伪代码成为可用的真实代码
    2. 显明实现:直接将真实的实现代码写入
    3. 三角法:只有在测试例子达到2或者更多时,才对代码进行一般化处理。否则采用伪实现

在单个类基础上对多个类进行开发的原则:

  1. 先简单的将单个类的实现代码直接复制为多份,并将类名改为各自的类名(此处存在大量重复实现)

  2. 分析多个类代码中的公共代码,将公共代码抽出放入基类,将原来的多个类改为该基类的子类

  3. 函数功能不完全相同的函数的声明提至基类,在各个子类中完成该声明的不同实现(多态部分)

  4. 若子类在别的函数中直接使用的情况不多,则将子类的构造函数设为私有,并在基类中提供创建子类对象的工厂方法

    • 基类中的工厂方法,能够消除测试程序与子类具体实现之间的耦合性

开发过程总结

  • 整个开发过程是先写一个小部分对应的测试,让测试编译通过,然后运行通过,然后对小功能进行重构后加入系统。

  • 开发过程:

    1. 先开发单个类,该类中各个功能由简入难逐个加入类中,单个功能实现后进行适当重构

    2. 其他类直接复制已开发类作为基础,先提出多个类的公共部分放入基类,在提出多态声明部分放入基类,最后考虑将子类的构造函数隐藏。

你可能感兴趣的:(读书笔记)