2021年9月,仝键老师在极限编程中国微信群里,提出要给TDD做个克苏鲁风格的Logo。
我闲来无事在某个周六,做了一个初稿,后来让同事按照写轮眼的样式加工了下。
形成了以下的Logo。
image.png

TDD的三项能力

红色:任务分解

在TDD循环中,红色代表写一个失败的测试。
但在写测试之前,有个非常重要的工作,即形成自己的代办清单。
任务分解是一项上限非常高的能力。

绿色:测试

在TDD循环中,绿色代表让失败的测试通过。
有很多同学在接触TDD的时候,对测试相关的知识是相对匮乏的。
很多人认为的测试是如下图这样的:
image.png
似乎仅仅是为了证明程序能跑。
殊不知,一个合格的测试应该包括三个步骤。

  • 数据准备
  • 调用被测试方法
  • 结果验证

所以在这个绿色能力中,我们要掌握的是测试工具的使用、对于测试金字塔各层的测试方法。

蓝色:重构

在TDD循环中,蓝色代表重构,消除代码(包括测试代码)中的坏味道。
如果想要重构,须要掌握两个基本技能。

  • 熟悉代码的坏味道
  • 了解重构的手法

    为什么要了解代码的坏味道

    一个没有基本审美的人是说不出好坏的,了解代码的坏味道是培养最基本的审美。

    重构的手法

    在了解代码坏味道之后,我们得知道用怎样的方法进行安全的重构。