📌 30 秒摘要(Layer 3)
TDD 把順序倒過來:先寫一個會失敗的測試,再寫剛好讓它通過的程式,然後重構——紅、綠、重構,小步循環。它不只是測試手段,更是一種設計方法:被測試逼著寫的程式碼,天然是低耦合、可測、介面清楚的。核心心法:永遠讓程式碼在「可運作」與「乾淨」兩個狀態間小步移動,隨時都有綠燈保護。
🗺 心智圖(Canvas)
測試驅動開發
Link to original
🧰 這本書給我的工具
- 工具-紅綠重構循環 — 想用測試驅動出乾淨程式時
- 工具-測試先行的設計 — 想讓設計更可測、更低耦合時
✨ 關鍵重點(Layer 1–2)
- 紅 → 綠 → 重構:先讓測試失敗(紅)、用最快方式讓它通過(綠)、再重構去除重複(保持綠)。
- 小步前進:每步小到「幾乎不可能出錯」;不確定就把步子再切小。
- 測試即規格:測試先寫,等於先想清楚「要什麼行為」。
- TDD 是設計工具:難測的程式通常是設計不良的訊號 → 逼你解耦。
- 兩種讓綠燈的策略:假實作(先寫死)、三角測量(多個例子逼出通用解)。
💬 金句原文(Layer 0)
- 「先讓它動,再讓它對,最後讓它快。」