看板 Soft_Job 關於我們 聯絡資訊
解釋一下好了,很多人以為TDD就是要有測試,避免將來改動程式時發生錯誤,並且 能在錯誤發生的第一時間進行修正,將修正成本降到最低。這些都沒錯,也的確是 TDD相當重要的好處,但其實TDD最大的好處並非這個,而是他提供所謂"低藕合"的 code design一個檢驗的工具,讓developer可以時時知道自己的設計是否有太過高 藕合的狀況發生。 TDD要求每個元件都能單獨被測試,要達到這個的前提就是每個元件彼此之間的藕合 度必須要很低,一旦不是如此,光是要把一個元件建出來,就要拉一長串其他元件 進來,測試就相當困難。所以使用TDD,一旦有高藕合的code出現,馬上developer 就會知道,並且可以馬上更改設計。很多人會覺得說我自己就可以寫出低藕合的code ,不需要輔助,但事實上人沒辦法完全在所有地方都寫出這樣的code,有工具幫忙 後整個會很不一樣。以前自以為很低藕合的code,戴上TDD的眼鏡才會發現問題百出。 只不過有些走火入魔的人,為了達到完全的低藕合,什麼東西都寫個interface, 又寫一堆不必要的class只為了讓每個class不要太大,導致整個架構龐大,可讀 性低落,所以只能說任何東西太超過都不好,有些元件特性就很難完全低藕合, 硬要去弄只會把架構弄得很亂。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.200.238 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1399707713.A.431.html ※ 編輯: Wolfken (118.165.200.238), 05/10/2014 15:51:48
lovdkkkk:推 什麼東西都寫個interface 0rz... 05/10 18:38
taliao:啥都interface,就跟啥都要design pattern一樣,都是走火入魔 05/10 19:43
qwweee7467:推 05/15 00:43