影响你最快最久的书_测试驱动开发书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 测试驱动开发 > 影响你最快最久的书
元创 测试驱动开发 的书评 发表时间:2006-04-18 16:04:10

影响你最快最久的书

从来没有一本书如此大影响我,这本书对我的影响有两个。
一、改变了我写程序的方法。不仅立即(一周)而且可能永远改变了我写程序的习惯。
二、让我开始学习和写python程序。

这是一本天才写的书,开创了新的软件方法论。这是一本200页的薄书,但以前所有软件工程的几十万页的书加在一起,应该也只与这本书的份量相当。以前软件工程的书只是对几千年的工程传统的不成功的拷贝和YY,但这本书写了程序自己的方法学,与和程序员自己的方法学。

以前软件工程的方法,说白了就是包工头管基建的方法。所以,一个好
的项目经理,常常不需要是一个好的程序员。这样管理下的程序员,与民工(严格地说是小工)也没有什么区别。

测试驱动开发,就是先写测试,再写程序,颠覆了先写程序再做测试的传统。优点是:
需求是明确的。
程序是符合需求的。
程序的高内聚低耦合的。传统方法中的不可企及的目标现在只是理所当然的结果。
程序是胆小怕事的程序员也敢修改的。
程序是久经测试的。
测试是自动的。

但是,为了“拥抱变化”,只有测试驱动开发是不完整的,当需求变化需要修改代码时,有时仅仅局部增加代码是不行的。测试驱动开发需要加上重构refactor才是完整的开发方法,才能修改好代码。所以学习这本书还应该学习refactor.

这本书通过一个个的例子的演化来说明重大的思想,基本采用的是java代码,所以,尽管学习这本书让人脱胎换骨,但学习过程不需要读者下苦功而是非常愉快。

这本书的部分例子采用了python代码,虽然不另学python也能顺利读完这本书,但不学python毕竟不能实践书中的例子。为了真正欣赏这本书,学习一点python是值得的。当然,一个程序员,学习pythoy本身就很值。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“影响你最快最久的书”的回应

Zach Cheung 2015-09-14 12:56:03

哈哈哈哈,评论好好笑

牧码 2013-10-16 15:52:42

Ruby也不错哦

不是导演李安 2013-08-23 08:55:53

2013-02-27 23:40:29

我也觉得,这本书真的很棒,不过实践起来还是有些困难

allan 2012-04-20 23:49:27

夸得有点露骨了。单元测试是个好东西,但测试驱动开发究竟能否在中小软件企业的开发实践中推广起来?我看很难。

元创 2011-08-31 22:50:08

书评写了五年半了。
现在的java IDE eclipse已经支持先写测试,再写代码了。

比如,我先写一个测试类

package test;

import static org.junit.Assert.*;

import org.junit.Test;

public class TestMoney {

@Test
public void testUnit() {
Money money = new Money();
}

}

类Money我还没写呢,eclipse就会提示我,Money没有定义,问我要不要创建一个它的类。我点点鼠标,eclipse就会自动给我创建:
package rich;

public class Money {

}
并且在测试类中加入对Money的引用。

同样,我写下对Money的一个测试,其中调用Money的方法,
@Test
public void testUnit() {
Money money = new Money();
assertEquals("RMB", money.getUnit());
}

方法getUnit()还没有呢,eclipse又会提醒我,于是,再点点鼠标,eclipse又会自动生成:
public Object getUnit() {
// TODO Auto-generated method stub
return null;
}

然后修改为:
package rich;

public class Money {
private static final String unit = "RMB";
public String getUnit() {
return this.unit;
}
}

我们可以看到,我在测试中写对类及其方法测试用例,eclipse可以自动生成这个类及其方法的框架。

现在用eclipse来按测试驱动开发写java代码,真是太爽了。


芈子叶 2011-04-30 11:58:39

终于淘到这本书了。

Chris 2010-06-25 18:25:41

因为你这书评才买的书,希望跟你一样有那么多收获

撒哈拉熊 2010-01-18 23:12:22

楼上的,这个也是适用的.代码的成长是重构,而重构的准则就是单元测试.

[已注销] 2010-01-18 20:33:09

如果这个程序就没有这么明白怎么办?
还适用么?

有很多程序是从一片代码逐渐生长起来的,
还适用这个方法不?

撒哈拉熊 2010-01-18 19:13:08

有点夸张了.

[已注销] 2009-07-23 09:24:28

有没有这么夸张?
马上去买本看看。

LipingTaBaBa 2009-03-10 23:30:25

大哥,不用这么夸张吧 :)