敏捷開發(fā)方法中有許多顛覆傳統(tǒng)開發(fā)流程的作法,TDD測(cè)試驅(qū)動(dòng)開發(fā)(Test Driven Development)就是其中一種,不像過去先撰寫出一支功能程式再來測(cè)試,TDD反而是先從使用者角度寫測(cè)試,再回頭撰寫程式碼。
TDD顛覆了傳統(tǒng)開發(fā)的思維,被許多人視為是新一代開發(fā)人員必須了解的開發(fā)趨勢(shì)之一,甚至有人說只有使用TDD才能寫出干凈的程式碼。
但是,Ruby on Rails創(chuàng)始人David Heinemeier Hansson (DHH)卻在今年RailsConf大會(huì)中抨擊TDD的問題,甚至演講結(jié)束隔天還寫了一篇戰(zhàn)文(TDD is dead. Long live testing),直指測(cè)試萬歲,但TDD已死。
DHH指出,大家過于相信「TDD宗教」,甚至以為,是自己不夠懂,所以,才沒辦法發(fā)揮出TDD的好處,但是DHH認(rèn)為,一昧講究TDD,反而會(huì)破壞系統(tǒng)的設(shè)計(jì),甚至,有時(shí)他寫的「臟程式」,還比講究TDD的「干凈程式」還要更簡(jiǎn)潔。
DHH更在部落格z8 戰(zhàn)文中直言:「我是DHH,我寫程式不TDD」(My name is David, and I do not write software test-first.),表明態(tài)度力反TDD。
DHH在RailsConf演講的影片連結(jié)如下,不過這場(chǎng)演講只有下半場(chǎng)提及TDD,上半場(chǎng)則是DHH談自己一路成為程式設(shè)計(jì)師的心路歷程,也很值得從頭到尾看完。
關(guān)注我們
公眾號(hào):china_tp
微信名稱:亞威資訊
顯示行業(yè)頂級(jí)新媒體
掃一掃即可關(guān)注我們