
XP、簡單以及漸進式設計
|
253
如果你沒有完成測試驅動開發,很容易帶出不去做的
假設性
理由(「我喜歡概述我
正在建構的東西,看它會如何在一起,不然我沒有任何要寫的測試,很顯然當我
遇上 TDD 時,我必須要妥協!」)。但是事實上,很多團隊就像依照規定般地使用
TDD
16
,而且當你用認真的態度在使用時,許多那些假設性的理由都消失了。
事實上很值得看發表「TDD 死了嗎?」(Is TDD Dead?)討論的文章──而且最重
要的是可以讀讀 Kent Beck 的回應
17
,他張貼在臉書上,完美地解釋了 TDD 如何幫
助解決程式設計問題,並創造更棒的軟體設計:
TDD 安息吧
2014
年
4
月
29
日早上
11:10
DHH
把
TDD
放進歷史的廢物堆中(
http://david.heinemeierhansson.com/2014/tdd-
is-dead-long-live-testing.html
)。我很難過,並不是因為我要從歷史的廢物堆中將
之回收,而是因為現在我需要雇用新的技巧,在我寫程式的時候幫我解決許多的
難題:
• 過度設計。我傾向於「丟進」我「知道」我「將需要」的功能,讓一個紅色
測試轉變為綠色(在未來測試的清單上)幫助我剛好實作,我需要找到新方
法來維持專注力。
•
API
回饋。我需要找到一個新的方法更快在我做出
API
決定時得到回饋。
• 邏輯錯誤。我需要找到一個新方法,來抓住那些討厭的感覺,我常做出的錯
誤。
• 文件。我需要找到一個新的方法來溝通,我期待
API
被如何使用,在開發階
段記錄我想要的東西。 ...