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開發程式。


 


留言

這個網誌中的熱門文章

異世界NTR web版第三章 觀後感 喧賓奪主 ,反派實力過強

持有縮小技能的D級冒險者,與聖女結婚並加入勇者團隊 漫畫 01-04 觀後感 大我與小我

泛而不精的我被逐出了勇者隊伍 web第三章 觀後感 菲莉真能打; 露娜超爽der