RoR(Ruby on Rails)的創始人DHH(David Heinemeier Hansson)日前在RailsConf表示,開發者過於強調TDD(Test Driven Development)容易傷害系統設計。他甚至在RailsConf結束後,發表了一篇TDD已死的文章,大力抨擊開發界奉TDD為圭臬的潛規則。
敏捷開發衍伸出許多新的開發流程,TDD則是其中一種,指的是以測試為驅動的開發方法。過去傳統的開發流程訴求先完成系統功能,再對程式進行測試,而TDD則是相反,先從使用者角度撰寫測試程式,再著手開發系統功能。
TDD被認為是新一代開發人員應有的基本認知及能力,但DHH卻在部落格文中發表反TDD宣言:「我寫程式不TDD」(I do not write software test-first.)。此舉引來網友的激烈論戰,甚至成立支持TDD正反方PK網站Code Ping Pong with DHH,由支持TDD的網友寫一段使用TDD的RoR程式碼,DHH則以非TDD的方法回應,接著讓網友投票選擇支持的一方,而目前輿論多數偏向DHH。
臺灣頗具盛名的RoR開發者XDite(鄭伊廷)亦撰文指出,軟體界有很多關於TDD的指控,不少人認為開發者不使用TDD方法等同於不會寫程式,抑或是程式能力低落,但這些指控在大多情況下是不成立的,DHH提醒人們應該思考軟體設計的根本,而非被TDD觀念束縛。
全球數百萬人下載的Cubie Messenger背後的核心開發成員Cubie技術長陳彥任(Ingram),也因DHH發文分享自己的經驗,他認為執行TDD方法依照熟悉度會歷經5個階段,而他自己正處於「若沒寫測試就寫實際程式碼,會感到有罪惡感」以及「相當熟悉Test First,知道哪些地方沒寫也沒事,從罪惡感解放」之間,他認為對寫程式成精的DHH而言,已到「不用刻意實行 Test First,也能達到上面提到的三個效果。雖然沒實際寫出測試碼,但腦中已自行建模,滿足設計的需求。」雖然DHH說TDD已死,但陳彥任建議還沒接觸過TDD的開發者,不要放棄TDD這強大的工具。
熱門新聞
2024-11-22
2024-11-24
2024-11-22
2024-11-25
2024-11-24
2024-11-24