Re: [請益] 軟體測試出路?

看板Soft_Job作者時間11年前 (2014/05/10 15:41), 11年前編輯推噓2(201)
留言3則, 3人參與, 最新討論串9/10 (看更多)
解釋一下好了,很多人以為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

05/10 18:38, , 1F
推 什麼東西都寫個interface 0rz...
05/10 18:38, 1F

05/10 19:43, , 2F
啥都interface,就跟啥都要design pattern一樣,都是走火入魔
05/10 19:43, 2F

05/15 00:43, , 3F
05/15 00:43, 3F
文章代碼(AID): #1JRTX1Gn (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1JRTX1Gn (Soft_Job)