有些技巧和訣竅適用於軟體開發的所有層面,這些流程幾乎普遍通用,這些觀念近乎不證自明。
然而,這些方法很少被作為獨立主題來記錄。本章將這些觀念和流程彙集在一起。
本章核心#
第一個也是最重要的主題直指軟體開發的核心:Topic 8,優秀設計的精髓。一切都從這裡展開。
本章概覽#
| Topic | 說明 |
|---|---|
| 優秀設計的精髓 | 好設計就是 ETC(Easier to Change,更容易修改)。 所有設計原則都是 ETC 的特例 |
| DRY–重複的罪惡 | 系統中的每一項知識都應該有單一、明確、權威的表述。 不要重複知識 |
| 正交性 | 消除不相關事物之間的影響。 正交的元件互不依賴,讓系統更容易設計、建構、測試和擴展 |
| 可逆性 | 沒有最終決定。 讓架構、部署和第三方整合都保持彈性,因為變化是必然的 |
| 曳光彈 | 使用曳光彈式開發, 快速建立端到端的骨架系統,在實際環境中獲得即時回饋 |
| 原型和便利貼 | 用原型來探索風險、驗證想法, 但原型是用完即丟的,不要把它變成產品程式碼 |
| 領域語言 | 盡量用問題領域的語言來編寫程式碼, 可以使用內部或外部領域語言 |
| 評估 | 學會估算以避免意外。 透過建立模型、分解元件、追蹤結果來持續改進估算能力 |
謹記這些基礎原則,你寫出的程式碼會更好、更快、更強健。
你甚至可以讓它看起來毫不費力。