测试驱动开发读后感
1.编写测试的好处
1. 程序中的每一个功能都有测试来保证他的正确性。
无论是重构还是加减一个功能,我们不用担心中间破坏了原来的代码,所以编写测试可以更加自由地提升代码质量。
否则,大部分情况下,我们都不敢对旧的代码进行改动,因为不知道一点改动是否会造成代码隐含的bug,这阻止了代码质量的持续提升。
2. 编写测试可以迫使我们使用不同的观察点,我们必须从调用者的角度来观察我们的程序,这样我们就会在关注功能的同时,直接关注他的接口。
通过编写测试,我们可以设计出便于调用的软件,代码易于调用和测试,降低了程序的耦合。
3.最后,测试用例是一种无价的文档。
程序员都不喜欢写文档,因为文档会说谎,项目工期紧迫情况下,完成功能和测试都靠加班加点,所以更新文档就成了不那么重要的事情。
而测试用例不同,他与代码一起发布一起进化,是可编译可运行的。
对代码的调用者来说,测试用例是最有价值的文档,他直接体现了函数设计者对接口的理解。
2. 代码模块的三个职责
1.可以运行起来完成它的功能。-->存在的原因。
2.能够应对变化。 -->几乎每一个模块在它的生命周期里都要变化,开发者有责任保证这种改变尽可能的简单。
3.要和阅读它的人沟通。-->对模块不熟悉的人可以容易地调用它而不至于出现歧义,进一步地,可以容易地理解。