一個良好的開發理念TDD

朝趣發表於2018-11-02

TDD(Test-Driven Development)即測試驅動開發,是一種開發理念。 這個理念一聽似乎不錯,也很簡單。 可實際即使大家知道這個理念,卻不能很好的遵循它。 專案有客戶要求的最後期限,本身就有很多事情要做,還要花費額外的時間去測試、開發、測試這樣的迴圈操作,基本上關於TDD的想法很快就會被拋棄。 一開始專案小可能影響不大,隨著時間,專案內容增多、程式碼變得糟糕,直到增加新功能也變得困難起來,才想起來要是做好TDD就不會有那麼多技術債了。

程式設計師永遠寫不出沒有BUG的程式碼,而測試可以暴露問題所在,揭示可能出現的結果,從而降低BUG出現的可能性。 心理學上講,TDD大大降低了開發過程中的壓力,因為每一步程式碼都是經過驗證的,從而不必擔心問題會累積到一塊。而且這還有助於編寫賞心悅目的程式碼,慢工出細活嘛。 為了做好這個細活,一定需要程式設計師先思考再編寫,側面上還能培養一個良好的程式設計習慣:先思考得出整體的計劃,再去執行。也應了那句話,大膽假設,小心求證。

很多測試看起來往往是多此一舉,像是浪費時間。一個能預料的結果,還需要寫一個測試,其實這都是主觀效果,而BUG總是出現在主觀意念最強的地方。你以為正確反而最可能出錯。要做好TDD,心態一定不能著急。 書中提到,要用好TDD,就要記住測試山羊。測試山羊是 TDD 的非官方吉祥物。它總是一步步走向陡峭的山峰。其實就是我們常說的一步一個腳印。 也只有一步一個腳印,使用好TDD理念,心中想著:先測試,先測試!”。才能穩妥的實現我們共同的神聖目標—簡潔可用的程式碼。

這本書會從零開始講 Django、Selenium、jQuery 和 Mock 等工具開發一個 Web 應用,教導大家體驗一次完整Web開發,並掌握TDD理念。

TDD最為關鍵的特徵就是:第一步始終是“編寫測試”。首先要編寫測試,然後執行,看是否和預期一樣失敗,只有失敗了才能繼續下一步。 為什麼失敗了才繼續下一步,因為我們程式設計師喜歡throw error。

相關文章