The Clean Coder 無瑕的程式碼 番外篇 Chapter 5 觀後感 TDD是好東西,職場實際執行有困難
《Clean Code》第九章作者Bob有已經有介紹測試驅動開發(TDD),第五章Bob介紹自己與TDD結緣的過程與TDD的優點。
Bob願意學習新技術
在西元1998年接觸TDD之前,Bob已經寫程式三十多年,起初他也不相信TDD,覺得TDD是「奇技淫巧」,Bob親自找提倡人 Kent Beck 討教一番之後,Bob愛上了TDD,給TDD好評要會TDD開發軟體的人才是專業的軟體開發人員。
TDD的三大法則
第一法則:在寫一個單元測試前,不寫產品程式。
第二法則:只寫剛好無法通過的單元測試。
第三法則:只寫剛好能通過測試失敗的產品程式。
傳統軟體開發方法是先寫產品程式,再寫測試程式。測試驅動程式開發先寫測試程式,再寫產品程式。
此處的測試程式是每的小單元都有測試程式,測試程式只比產品程式早幾秒寫,幾乎是兩者同時開發。
作者用抗原與抗體來比喻TDD,我覺得TDD像太極圖黑與白之間相依又相剋,光與影彼此都是一体。
TDD的優點
TDD讓軟體開發人員不懼怕修改程式。
TDD逼程式去耦合,強迫程式分為許多小單元。
TDD減少錯誤發生,減少除錯時間。
TDD程式碼本身就是程式的說明文件。
TDD是好東西,職場實際執行有困難
如果要無中生有開發新程式,員工必須要花時間學 TDD。
如果要把舊有程式改成符合 TDD 格式也會花很多時間,平日工作能在期限內把程式完成就很厲害了,不可能再花時間重構程式。
TDD算是一種考驗,厲害的人像是作者Bob,就會花時間研究如何用TDD開發程式。
留言
張貼留言