Re: [問卦] 寫程式要先寫測試碼?消失
先寫測試碼再開發程式的模式叫做 測試驅動開發(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
01/03 15:07, 1F
→
01/03 15:07, , 2F
01/03 15:07, 2F
→
01/03 15:07, , 3F
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
01/03 15:12, 7F
→
01/03 15:13, , 8F
01/03 15:13, 8F
→
01/03 15:13, , 9F
01/03 15:13, 9F
推
01/03 15:29, , 10F
01/03 15:29, 10F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
問卦
19
46