有些技巧和訣竅適用於軟體開發的所有層面,這些流程幾乎普遍通用,這些觀念近乎不證自明。
然而,這些方法很少被作為獨立主題來記錄。本章將這些觀念和流程彙集在一起。

本章核心#

第一個也是最重要的主題直指軟體開發的核心:Topic 8,優秀設計的精髓。一切都從這裡展開。

本章概覽#

Topic說明
優秀設計的精髓好設計就是 ETC(Easier to Change,更容易修改)。
所有設計原則都是 ETC 的特例
DRY–重複的罪惡系統中的每一項知識都應該有單一、明確、權威的表述。
不要重複知識
正交性消除不相關事物之間的影響。
正交的元件互不依賴,讓系統更容易設計、建構、測試和擴展
可逆性沒有最終決定。
讓架構、部署和第三方整合都保持彈性,因為變化是必然的
曳光彈使用曳光彈式開發,
快速建立端到端的骨架系統,在實際環境中獲得即時回饋
原型和便利貼用原型來探索風險、驗證想法,
但原型是用完即丟的,不要把它變成產品程式碼
領域語言盡量用問題領域的語言來編寫程式碼,
可以使用內部或外部領域語言
評估學會估算以避免意外。
透過建立模型、分解元件、追蹤結果來持續改進估算能力

謹記這些基礎原則,你寫出的程式碼會更好、更快、更強健。
你甚至可以讓它看起來毫不費力。