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