Effective Java Item 67:明智地進行優化

整理 Effective Java 書中 Item 67: Optimize judiciously 心得筆記

主旨

這條原則的核心可以用幾句老話總結:

  • “為了效能而犯的錯,比任何原因都多。”
  • “不成熟的優化是問題根源。”
  • “規則是:1. 不要優化;2. 如果你是高手,還是先別優化。”

➡️ 寫出結構清楚、可維護的程式碼,比過早優化重要得多。 等你真正碰到效能瓶頸時,再根據實測結果有的放矢地進行優化。

Read more

Effective Java Item 56:為所有公開的 API 元素撰寫文件註解

整理 Effective Java 書中 Item 56: Write doc comments for all exposed API elements 心得筆記

主旨

寫 Java 程式時,若要讓 API 好用、好維護,註解文件不可或缺。Java 提供的 JavaDoc 工具讓我們能直接從原始碼產生 API 文件,但前提是你要在類別、方法、欄位前寫好符合格式的「doc comment」。本篇說明該怎麼寫註解才真正有幫助,該注意的格式細節與常見錯誤。

Read more

Effective Java Item 55:謹慎使用 Optional 作為回傳值

整理 Effective Java 書中 Item 55: Use Optional judiciously 心得筆記

主旨

在 Java 8 以前,當方法沒辦法回傳有效值時,我們只有兩個選擇:拋出例外回傳 null。但這兩者都有明顯缺點。Java 8 引入的 Optional<T> 提供了更安全、更具表達力的選項,但這並不表示它應該無腦使用。

本篇會釐清什麼情況該用 Optional、什麼情況不該用,並提供實務建議。

Read more

Effective Java Item 54:回傳空集合或陣列,不要回傳 null

整理 Effective Java 書中 Item 54: Return empty collections instead of null心得筆記

主旨

當方法沒有資料可回傳時,有些人會選擇回傳 null,以代表「沒有資料」。但這麼做會讓呼叫端增加處理成本,也提高潛在錯誤發生的機率。正確做法應該是 回傳空的集合或陣列,這樣寫起來更簡潔、安全、直觀,也幾乎不會有效能損失。

Read more

Effective Java Item 53:謹慎使用 varargs

整理 Effective Java 書中 Item 53: Use varargs judiciously 心得筆記

主旨

Java 中的 varargs(variable arity arguments,可變參數)允許在方法中接受 不定數量的參數。這在設計彈性 API、像是 printf() 或是工具類別時非常好用。但 varargs 是把雙面刃,用錯了可能導致 執行時錯誤隱性效能問題。這篇將帶你學會:什麼時候該用 varargs,什麼時候該避免,怎麼用才安全又優雅。

Read more