编程就像从井里打水

编程对每个人来说都不是一件容易的事,如果说成功源于一个人的努力和聪明才智,那像我这样不那么聪明的人,TDD就能助我一臂之力.

TDD的创始人Kent Beck打了个比方.试想从井里提一桶水,如果井不太深,而且桶不是很慢,提起来很容易,就算提满满的一桶水,刚开始也很容易,毕竟井并不深,但是如果井很深呢?我们能一次性把水给提上来吗?力气大的人或许可以,但是所有人都是大力士吗?TDD理念就好比是一个棘轮,使用它可以保存当前的进度,休息一会,而且能保证进度绝不会倒退,也并不需要我是大力士.

当然TDD的使用也是区别情况的,但大多数一个商业项目都是复杂的,并不都是像浅井那样一次性提满水,不过在一口浅井中使用棘轮就显的有点傻.