2021/03/22

[筆記] Effective Java #51 謹慎設計方法簽名

Effective Java 3rd 簡體中文版筆記 #51 謹慎設計方法簽名
對於 API 設計技巧的總結,有助於讓你的 API 更容易使用及減少錯誤。
  • 謹慎選擇方法的名稱
    • 遵守標準的命名習慣 [#68],目標是容易理解並與其它方法命名風格一致。
    • 選擇大眾有共識的名稱,或者參考 Java 標準 API 的方法命名。
  • 不要過度追求提供方便的方法
    • 每個方法應盡其所能,方法太多會讓調用者難以學習,文件及測試的維護成本也會提高。
    • 如果不確定是否要提供快捷方式 (shorthand),最好不要提供。
  • 避免過長的參數列表
    • 目標是 4 個參數或更少,使用時需要頻繁的參考文件。
有 3 種技巧可以縮短過長的參數列,
  1. 將一個方法拆成多個方法,但是一不小心會導致方法過多且複雜。
  2. 定義輔助類 (helper class),將許多的參數組成一個類,如果同一群的參數頻繁地同時出現,就應該使用輔助類。
  3. 採用 Builder 模式 [#2]
對於參數的類型,應優先使用介面 (interface) 而非類 (class) [#64]。 像是使用 Map,傳入的參數可以為 TreeMapHashTableHashMap 等,但若使用 HashMap,那就無法傳入 TreeMap對於 boolean 參數,優先使用兩個元素的 enum。

轉載請註明原文網址 https://cookieandcoketw.blogspot.com/2021/03/effective-java-51-method-signature.html

沒有留言:

張貼留言