SQ3R阅读法:
一、Survey(阅读前的调查)
1、书名:《Test-Driven development By Example》,中文译名《测试驱动开发实例》。
2、作者:Kent Beck(肯特·贝克),美国著名软件工程师与作家,在软件工程方面有很大的贡献。他是Smalltalk软件的开发者,设计模式的先驱,测试驱动开发的支持者,也是极限编程的创始者之一。现在Facebook工作。
维基百科摘录:
Beck全家似乎都弥漫着技术的味道。生长在硅谷, 有着一个对无线电痴迷的祖父,以及一个电器工程师父亲。从小就引导Kent Beck成为了业余无线电爱好者。在俄勒冈州大学读本科期间,Kent Beck就开始研究起模式。然而在他最终拿到计算机学位之前,他却是在计算机和音乐中交替学习。似乎Java大师都能够有这样的能耐,另一Java大牛Rod Johnson同样也拥有音乐学的博士学位。 Kent Beck一直倡导软件开发的模式定义。早在1993年,他就和Grady Booch(UML之父)发起了一个团队进行这个方面的研究。虽然著有了《Smalltalk Best Practice Patterns》一书,但这可能并不是Kent Beck最大的贡献。他于1996年在DaimlerChrysler启动的关于软件开发的项目,才真正地影响后来的软件开发。这次的杰作就是XP(极限编程)的方法学。和软件开发大师Martin Fowler合著的《Planning Extreme Programming》可谓是关于XP的奠基之作。从此,一系列的作品如《Test Driven Development: By Example》,《Extreme Programming Explained: Embrace Change》让更多的人领略到了极限编程的精髓,也逐步导致了极限编程的流行。Kent Beck的贡献远不仅如此。对于众多的Java程序员来说,他和Erich Gamma共同打造的JUnit,意义更加重大。也许正式这个简单而又强大的工具,让众多的程序员更加认可和信赖极限编程,从而引起了Java敏捷开发的狂潮吧。
二、Questions(提出问题)
1、极限编程(XP)、敏捷编程(Agile)、测试驱动开发(TDD)的区别与联系?
TDD在XP中处于核心地位,想要采用极限编程(XP),必须熟练掌握测试驱动开发技术(TDD)。
2、什么才叫测试驱动开发(TDD)?
以测试作为开发过程的中心,它要求在编写任何产品代码之前,首先编写用于定义产品代码行为的测试。
3、测试驱动开发(TDD)真的有用吗?
要让测试可行,需首先进行设计!(至少根据blog内容)
三、Read(阅读全书)
前言
1、
clean code that works!——TDD一直追逐的目标!
2、如何做才能做到clean code that works?——
TDD开发的两大原则!
(1)只有在测试失败时,才重新写代码!