Contents

一般人讨论TDD主要是集中在先写测试,还是后写测试上,其实我觉得先写后写都无所谓,重要是要写。另外其实TDD还包含很多别的我认为更重要的东西。The Cycles of TDD是Uncle Bob说的在TDD中包含的迭代。

  1. 秒级迭代(nano-cycle)。TDD的3个定律,就是说必须有失败的测试在线,然后才能写让测试通过的生产代码。
  2. 分钟级迭代(micro-cycle)。红->绿->重构。就是说先让代码是工作的,然后让代码是对的,接着让代码是快的。
  3. 10分钟级迭代(mili-cycle)。具体->抽象。就是说测试代码越写越具体,生产代码越写越抽象。
  4. 小时级迭代(primary-cycle)。就是检查系统的边界,确保我们的架构是很清晰的。

这些迭代是一层为下一层服务,最终的目标是让我们的系统有一个清晰的架构。所以我认为先写测试还是后写测试不重要,重要的是重构,抽象,达到具有清晰边界的好的架构。

Contents