实施TDD两个月以来,收获不少。感想如下:

如果实施TDD,你要承认实际上你做的是两套系统(开发和测试)

TDD节约了什么时间

节约的是重构后,对于bug的查找时间。

为什么TDD对开发人员素质要求很高

因为实际上如果你的软件架构不是一次成型,一会要修改方法的入参,一会要对架构进行一定的修改,那么都要首先修改测试这个系统(无疑增加了工作量,还要去找相关的Test case进行修改)。最佳的重构只是对方法内部进行重构,而不是对其外部进行改造。所以从这个角度看,对开发人员的素质要求不得不说很高。

那还要不要TDD

要渐进过渡到TDD,原因是:一方面可以促进提高代码素质,另一方面也是专业人员必备的条件。
渐进过渡期,允许先写代码后补UT。