2010年1月2日星期六

读书:Kent Beck 《Test Driven Development》

书评:

生动简单的例子和清晰详细的解释分析,读这本书时绝对不会感到有什么困难。个人认为,其实不用把这本书当成一本纯粹的技术书来阅读,大可以当成一本改变思考方式的技术八卦看看,也许在开发中你还是不会使用TDD(test-driven development),但是用一种极为轻松的方式系统地了解一下TDD,也是大有益处的。
如果只是想单纯地了解一下TDD(粗浅了解一下TDD的实现步骤,以及它充满吸引力的优点),那么看看第一部分(Section I: Money Example)就可以。如果正在进行TDD,或已经有了一些TDD实践,那么可以看看这本书的第二,第三部分,这对TDD的在项目中的具体实践和对提高TDD的认识会很有帮助。
看完这本书也改变了我一些固有印象,其实TDD不是绝对和极限编程一样。书中有一句话令人印象深刻:TDD is an awareness of the gap between decision and feedback during programming, and techniques to control that gap.
书中常常提到The goal is clean code that works. 我非常赞同,其实不管使用什么选择的开发策略(或者是否认可使用TDD,我的很多朋友就不是很认可TDD),其实我们的目的都是写出“整洁”的代码得到使我们的软件在质量和产出方面,得到可观的改善。

读书笔记:

简单地记录一下本书中关于TDD的一些概念:

编写TestCase(不可运行) --> 实现TestCase(可运行) --> 重构(重构)

1. Red—write a little test that doesn’t work, perhaps doesn’t even compile at first

2. Green—make the test work quickly, committing whatever sins necessary in the process

3. Refactor—eliminate all the duplication created in just getting the test to work Red/green/refactor. The TDDs mantra.

TDD的节奏大概就是:

1. Quickly add a test

2. Run all tests and see the new one fail

3. Make a little change

4. Run all tests and see them all succeed

5. Refactor to remove duplication

一般而言TDD的周期就是:

• Write a test

• Make it compile, run it to see it fail

• Make it run

• Remove duplication

如果我们读完这本书,其实我们,可以开始,哈:D

• Start simply

• Write automated tests

• Refactor to add design decisions one at a time

没有评论: