我们用抽认卡帮助学生达到无需反应快速牢记概念的效果。经典的抽认卡向学生展示一个词汇或数学方程,我们希望学生几乎能立即识别并回答。我展示西班牙语 "acuario",你脱口而出 “鱼缸!”。
所以,红 - 绿 - 重构。根据定义 TDD 要先写测试。因为还没有写出要被测试的功能,测试会失败,此时测试工具的界面会显示红色。这种有益的反馈让你写出正好够所有测试通过的代码;测试工具界面会显示绿色。最后,因为测试给了你修改的信心,你可以确保重构出理想设计的代码。花几分钟改进设计,然后重新运行测试,结果应该还是绿色。整个周期平均应该需要 5 分钟左右,不超过 10 分钟。
如果你使用过几天 TDD 应该充分理解这个循环了。我是说真正的使用,不是先写代码然后偷偷的写几个测试,然后告诉别人 “我做过 TDD 了”。我们这些使用 TDD 比较久的人——可能几个月了,就不再需要额外思考。红 - 绿 - 重构是我们构建软件的自然方式。