首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 編碼 30 條軍規:從命名到架構的實戰精華

     編輯:Java 相關知識

命名與格式(1-3)

  1. 類別 PascalCase,方法/變數 camelCase,常數 UPPER_SNAKE。
  2. 包名全小寫,含域名反轉(com.company.module)。
  3. 每個類別內建 main() 測試入口,方便獨立驗證與示例。

方法與類別設計(4-8)

  1. 方法短小單一:超過 20 行考慮拆分,單一職責。
  2. 站在呼叫端視角設計 API:參數順序、異常、回傳值直覺易用。
  3. 類別專注單一問題:複雜 switch → 多型;巨大類別 → 拆分。
  4. 封裝到極致:預設 private,只暴露必要 public。多執行緒下唯有 private 欄位天然安全。
  5. 拒絕「上帝物件」:程序式代碼塞進大類別 ≠ 物件導向。

代碼品質與維護(9-16)

  1. 醜陋代碼隔離在類別內部,別外洩。
  2. 緊耦合類別考慮 內部類 封裝關係。
  3. Javadoc 註解覆蓋公用 API,IDE 自動生成文檔。
  4. 消除魔術數字:if (status == 2) → if (STATUS_ACTIVE == status)。
  5. 建構子拋異常 → 確保物件不會處於無效狀態。
  6. 資源清理提供明確 close()/shutdown(),finalize() 只作最後防線(並驗證 JVM 能執行)。
  7. 需手動清理的資源:try { init(); } finally { cleanup(); } 模式。
  8. 覆寫 finalize() 必呼叫 super.finalize()(放最後)。

集合與型別(17-19)

  1. 固定大小集合回傳 陣列(編譯期型別安全,免轉型)。
  2. 優先介面而非抽象類別:介面定義契約,類別實作細節。
  3. 建構子僅做初始化,避免呼叫可覆寫方法(子類未初始化完成前執行父建構子)。

物件導向原則(20-24)

  1. 物件要有行為,不只是資料袋(貧血模型反模式)。
  2. 組合優於繼承:需要繼承時才繼承。
  3. 繼承表達行為差異,欄位表達狀態差異(顏色用 enum/欄位,別用子類別)。
  4. 類路徑同名類別衝突 → 排查 .class 重複。
  5. AWT 事件適配器拼寫錯誤 → 靜默新增方法而非覆寫,加 @Override 防禦。

架構與流程(25-30)

  1. 單例模式替代「只建一個」註解與散落建構代碼。
  2. 防分析癱瘓:先掌握全局,再鑽細節。
  3. 防過早優化:先跑通,再用 Profiler 找瓶頸優化。可讀性 > 微優化。
  4. 代碼讀的次數 ≫ 寫的次數:投資可讀性、註解、範例。
  5. 同儕審查:找非專家用新眼光找盲點。
  6. 好設計回報最高:前期投入找正確抽象,後期事半功倍。拒絕草率交付。
這 30 條不是清單,是肌肉記憶。每條背後都是無數次重構的傷疤。內化它們,你就擁有了「工程師」的護體神功。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved