你思考程序的解释执行你就会看到一个成形的程序是不断被进行递归解释而进行求值的,整个过程你可以说是一个展开的过程,譬如fib 10展开成fib 9跟fib 8的表现形式,如此一直展开下去,而你编程就是去编写那些展开的规则,而这就是容易出错的地方,TDD,就是把展开的一些步骤先掠过,譬如直接return一个数值0,那么return 0就可以认为是return foo.length的展开后的值,而随着TDD,你会逐渐吧return 0的直接形式变成需要更多解释的return foo.length的形式,这就是一个fold的过程,或者叫construction,而程序的执行则是intepretation。如果你能领悟到这一点,TDD就是小菜一碟了。
【作者: RonaldMatt】【访问统计:】【2007年07月5日 星期四 18:30】【注册】【打印】
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=6358109