最小化心理複雜度總覽
使用者在開始使用您的程式庫之前,需要快速且準確地建立其功能與抽象的心理模型。 達成此目標的最佳方式是將他們遇到的複雜度降至最低。
最小化心理複雜度的策略包括:
- 簡潔性 (Simplicity): 努力打造一個能以最少組件提供最多功能的 API,並重用現有的 Kotlin 型別與結構以避免冗餘。在可能的情況下,建立一組小型的核心抽象,並在其之上建構附加功能。
- 可讀性 (Readability): 以宣告式風格撰寫 API,使程式碼的意圖清晰。除非絕對必要發明新名稱,否則請直接從問題領域中為抽象選擇名稱。根據基本資料型別的預定用途來使用它們。清晰地區分核心功能與選用功能。
- 一致性 (Consistency): 為 API 的每個設計面向維持單一且清晰的方法。無論是物件導向還是函式式,都請使用統一的命名慣例、錯誤處理策略與模式。
- 可預測性 (Predictability): 設計您的程式庫以遵循 「最少驚訝原則」(principle of least surprise)。確保預設設定符合最常見的使用案例,讓使用者能以最簡單、最短的程式碼完成任務。僅允許以明確指定的方式對您的程式庫進行擴充,以維持一致性與可預測性。
- 可偵錯性 (Debuggability): 確保您的程式庫能透過簡化資訊擷取與巢狀函式呼叫的導覽,協助使用者進行疑難排解。當擲回例外時,例外的型別與內容都應與底層問題相符,並提供有效診斷與解決問題所需的所有細節。應能夠擷取並輸出領域物件的狀態,並查看任何中間表示。
- 可測試性 (Testability): 確保您的程式庫以及使用該程式庫的程式碼都能輕鬆地進行測試。
以下章節提供了在 Kotlin 中實作這些策略的更詳細資訊。
下一步
若要開始深入探索這些策略,您可以從下一節了解簡潔性開始。
