本書第一部分深入探討軟體匠藝的基礎紀律(Disciplines)。作者認為,紀律是匠人與業餘者之間的分水嶺——它們不是可有可無的建議,而是每位專業軟體開發者都應該內化並實踐的核心能力。這些紀律源自 Extreme Programming(XP)的工程實踐,經過數十年的實戰驗證。
Part I 涵蓋七個章節,從最基礎的 Test-Driven Development(TDD) 開始,逐步擴展到 Advanced TDD(進階技巧如 Test Doubles、Uncertainty Principle)、Test Design(測試設計與去耦合策略)、Refactoring(重構的工具箱與紀律)、Simple Design(簡單設計的四條規則與判斷力),到涉及團隊層面的 Collaborative Programming(結對、群組程式設計等協作模式)和 Acceptance Tests(驗收測試——連結開發團隊與業務端的橋樑)。
這些紀律彼此交織、相互支撐。TDD 是基石——沒有它,重構幾乎不可能安全進行,簡單設計也淪為空談。重構是達成簡單設計的手段,而簡單設計的判斷力來自經驗與持續的協作學習。驗收測試則確保所有技術上的努力最終都對準了業務需求。作者希望讀者理解:掌握這些紀律不是目的,而是成為真正匠人的起點。