Re: [問卦] 寫程式要先寫測試碼?消失

看板Gossiping作者時間10年前 (2016/01/03 15:05), 編輯推噓4(406)
留言10則, 9人參與, 最新討論串2/3 (看更多)
先寫測試碼再開發程式的模式叫做 測試驅動開發(Test-driven development) 簡稱 TDD 這本身的出發點是好的,但在實務上開發來說 除非要你開發的項目是已經成熟、穩定、不會再改的功能 不然勢必都會面臨調整一改再改的窘境 (這就是為什麼 RD 超恨 PM 的地方 ... XD) 在這情境下用 TDD,會面臨撰寫測試的初衷跟後面已經不同了 所以變成不但開發的 code 要改,測試也要改 更幹的是,測試跑不過時,根本不知道是測試出問題還是 code 有問題 因此 DHH ( Ruby on Rails 發明者 ) 在去年放出了這個『超級政治不正確』的震撼彈 他認為,程式開發的核心理念是: 好讀、易懂、保持好調整的彈性 因為沒有任何一個軟體是『永遠不用再更新』的 TDD 有它的價值在,但是什麼都用 TDD 來開發就有點走火入魔了 --- 懶人包: 不適合 TDD 的情境 1. 不知道開發出來的是不是『最終版本』 2. 新創 / 實驗性的功能 3. 根本不知道顧客會不會買單的功能 ( 不用浪費時間寫測試 ) 4. 新創公司 / 小企業 適合 TDD 的情境 1. 穩定、常態性、顧客已習慣的功能 2. 需要跟其他 application 串接溝通的 API 3. 『大』企業 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.13.201 ※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1451804719.A.447.html

01/03 15:07, , 1F
台灣大概90%的公司都不適用TDD 老闆一句話就亂改一通的到處
01/03 15:07, 1F

01/03 15:07, , 2F
都是 就連大企業也一樣
01/03 15:07, 2F

01/03 15:07, , 3F
TDD跟unit test是一樣的嗎?
01/03 15:07, 3F

01/03 15:08, , 4F
老闆:這個不是很簡單嗎?我明天要
01/03 15:08, 4F

01/03 15:08, , 5F
有差嗎? 反正還不是低薪血尿,東省西省能做出什麼鬼
01/03 15:08, 5F

01/03 15:09, , 6F
正確 給推
01/03 15:09, 6F

01/03 15:12, , 7F
只要保持程式可測性,TDD 可有可無
01/03 15:12, 7F

01/03 15:13, , 8F
PM:我才頭痛咧 客戶亂入 老闆亂入 你以為我愛改嘛 -.-
01/03 15:13, 8F

01/03 15:13, , 9F
老闆:我覺得這個功能應該改成&@@$&
01/03 15:13, 9F

01/03 15:29, , 10F
PM也很無奈吧 最該幹的是老闆 因為一切客戶優先
01/03 15:29, 10F
文章代碼(AID): #1MYCWlH7 (Gossiping)
文章代碼(AID): #1MYCWlH7 (Gossiping)