如何重复一个非常短的开发周期有助于消除软件中的错误?如果正确实施,TDD最有效的捕获方法是什么?为什么?
提前致谢!
答案 0 :(得分:5)
TDD强迫您从“消费”您要编写的代码的角度思考。这种观点有助于将您(开发人员)置于需要考虑如何构建API的位置以及如何验证实现的要求。
TDD有助于识别以下领域的缺陷:
答案 1 :(得分:1)
设计“错误”:如果你通常做TDD,你自然会得到一个可测试的设计。反过来,趋于以减少耦合等 - 导致代码库更容易使用。
另外,我发现TDD在某些情况下可以更容易地考虑角落情况 - 但设计效益更重要,IMO。
答案 2 :(得分:0)
零值或零值参数情况对我来说是TDD最差异捕获的错误。我倾向于首先使用这种情况编写我的测试,只是作为一种清除API的方式,而不考虑值:“哦,只需在那里抛出一个空值;我们将在下一个测试中给出真正的价值。”因此,我的方法最初是为了处理特定的边缘情况而编写的,并且在整个红绿重构过程中反复运行该测试(以及所有其他测试)使得边缘情况正常工作。在使用TDD之前,我会经常忘记null或零参数;现在,没有真正尝试,它们被处理为我应用TDD的方式的自然结果。