TDD让问题更早的浮现

最近一直在用TDD进行开发,体会到了它不足的一面确实很影响开发进度,然而也体会了它优秀的一面就是让问题更早的浮现,并且对重构的代码也很有信心。事实上大多数程序员对自己的写code能力都非常自信,自认为写下来的code缺陷很少。但是实际的情况是大多数的缺陷会在开发的后期暴露出来。而这也是我们程序员天天加班的一个主要原因。举一个非常简单的例子:

int add(int a, int b) {

  return a+b;

}

这个函数有什么问题,非常简单就是一个加法而已。OK,或许我们考虑到了整数溢出的问题,但是当我们项目进度忙的时候,我们很可能就扔了一个这样的代码在产品中。等到了某一天发现程序跑飞了,追查半天发现,哦,原来是这里,然后恨骂一通。显然这不是一个好的方式,所以为了使我们的加班次数少一点,我们还是应该多花点时间在单元测试上。对于上面的例子,我们把返回值改成long型就可以了。有的时候测试确实很难写,比如数据库,多线程,网络访问等等,但总归是有办法的,就看你想不想去做了。

posted @ 2011-07-19 23:56  moonz-wu  阅读(181)  评论(0编辑  收藏  举报