最近在学习tdd开发,首先读的是kent beck的《测试驱动开发》,看完一遍后没咋看懂,又看了下《测试驱动开发的艺术》,轮到自己在工作真真使用时还是很不习惯,感觉无从下手。于是认真的读kent beck的《测试驱动开发》,这次收获有些:
我(们,可能大多少人和我一样)以前一般是从开发者的角度出发去实现功能,一般只是在自己需要某个函数(api)时,才加入同时具体实现,而驱动开发是从使用者(当然也是开发人员)的角度出发的,首先编写测试,我在实际操作的时候,觉得是初学tdd的真真的困难,很多时候总觉得无从下手。
测试案例 --> 使代码快速通过测试(包括使用临时的实现方式,粘贴、拷贝等)--> 重构(消除重复,使结构更合理) 这个三个阶段都是tdd的必要条件,从kent beck的字里行间流露出,他以前可能是属于那种追求代码美到极致,以至于实际的项目迟迟不前(我只是猜的^_^),然而我们如果只做到第二步,那么代码会变得脏乱不堪入目,难以维护(我们现在的项目代码已经趋于这样了),所以第三步重构是必要的。三个步骤都是以很短的时间迭代进行(几秒或1、2分钟),而且是相辅相成,缺一不可。 关于重构方面的书籍比较多,其实kent beck的《测试驱动开发》中关于重构有很好的介绍,大家公认的关于重构的书籍是Martin Fowler的《重构——改善既有代码的设计》,此外Robert C.Martin的两本书也不错《敏捷软件开发——原则、模式与实践》和《代码简洁之道》 继续尝试ttd中... 原文链接:/javaschema/287185.html