優秀的 Java 代碼不僅能運行,更要易讀、易維護、易擴展。本文整理 30 條核心建議,涵蓋命名規範、類設計、方法設計、異常處理、效能優化、團隊協作等維度,助你寫出專業級代碼。
UserService;方法/變數/物件 camelCase:getUserById;常數全大寫底線分隔:MAX_RETRY_COUNTcom.company.project.module,網域擴展名亦小寫equals()、hashCode()、toString()、clone() (implements Cloneable)、Serializablemain() 單元測試代碼,便於驗證與示例if (status == 100) → if (status == Status.SUCCESS.code)cleanup(),內部 boolean disposed 標記,finalize() 兜底檢查並拋出 RuntimeExceptiontry { ... } finally { cleanup() }super.finalize(),確保父類資源仍可用Color 欄位,勿用繼承表達顏色// 差
if (user.getType() == 3) { ... }
// 好
public enum UserType { ADMIN(1), VIP(2), NORMAL(3); }
if (user.getType() == UserType.NORMAL.code) { ... }
// 風險:呼叫可覆寫方法
public class Base {
public Base() { init(); } // 危險!
protected void init() { ... }
}
// 安全:建構子僅初始化欄位
public class Safe {
private final String config;
public Safe(String config) { this.config = config; }
public void initialize() { ... } // 由呼叫端顯式調用
}
// 繼承:僵硬、破壞封裝
class Bird extends Animal { ... }
// 組合:靈活、可運行期替換
interface FlyBehavior { void fly(); }
class Bird {
private FlyBehavior flyBehavior;
public void setFlyBehavior(FlyBehavior fb) { this.flyBehavior = fb; }
public void fly() { flyBehavior.fly(); }
}
這 30 條建議蒐羅自實戰經驗與經典著作(如 Effective Java、Thinking in Java)。它們不是僵化規則,而是指引決策的羅盤。內化這些原則,你的代碼將更健壯、團隊協作更順暢、系統演進更從容。建議列印張貼工位,每日審視一條,久久為功。