TDD实践的思考

关于上上周的TDD实践,找了一个水平比我更高的程序员进行了简单的指导。

问题还是很多,很明显,我所能体会到的TDD的优势只总结出了三点。

而实际上还有更多的部分,没有被体会到,这就直接间接的说明了其中应该有一些问题。

我又再次看了Kent Beck的那本书,发现了一些细节:

1.在没有线索或者信心的时候使用Fake的方式实现

  换句话说,如果是很简单很有把握的时候是不需要这样做的。TDD提供的是允许小步前进的,而不是捆住你的双脚,让你必须小步前进。

在信心不强的时候小步前进,绝对好过鲁莽前进然后摔倒。

2. 重构的时机(测试通过之后,写新的测试之前)

  这个时候可以很确定在重构之前测试是通过的,并且期待重构之后测试也可以通过。如果重构出了问题一定要回退到测试通过的状态。

重构测试代码的时机也是类似的,并且有一种没有重构完成绝不继续前进的态度。

3.撤销,或者说后退

  这个在前进遇到问题的时候可以恢复到正常状态,换句话说,我们允许出现一些实验性的举措。

4.测试中通过结果反推出过程(数据的准备)

  测试的代码可以看成是期望的API接口,这点一般是相对可预期的。数据的准备则偏向于设计的部分。

 

还有一部分命名的问题,都是我值得改正的问题。

你可能感兴趣的:(TDD)