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

Java 命名規範全攻略:包、類、方法、變量與駝峰法細節

     編輯:Java 相關知識

統一的命名規範是團隊協作代碼可讀性的基石。本文依據業界主流風格(Google Java Style、Alibaba Java 開發手冊),系統整理包、類、接口、方法、變量、常量的命名規則,並深度解析駝峰法在縮寫、單詞邊界上的細節處理。

核心原則:駝峰法

  • Lower Camel Case (小駝峰):首單詞小寫,後續單詞首字母大寫。用於:方法、變量、參數。例:getUserName、maxRetryCount。
  • Upper Camel Case / Pascal Case (大駝峰):所有單詞首字母大寫。用於:類、接口、枚舉、異常。例:UserService、HttpClient。
  • 全大寫 + 下劃線:用於常量。例:MAX_CONNECTION_COUNT。

各層級命名規範

1. Package(包名)

  • 全小寫,單詞直接連接,禁用下劃線。
  • 格式:<域名反轉>.<團隊/組織>.<項目>[.<子模塊>]
  • 示例:com.cnblogs.niceboat.soyteam.anticorruptionsystem

2. Class / Interface(類/接口)

  • 大駝峰,名詞或名詞短語。
  • 抽象類建議前綴 Abstract:AbstractUserRepository。
  • 異常類後綴 Exception:BusinessException。
  • 測試類後綴 Test:UserServiceTest。
  • 接口實現類命名:接口名 + Impl(推薦),如 UserService → UserServiceImpl。禁用匈牙利法(IUserService → UserService)。

3. Method(方法)

  • 小駝峰,動詞或動詞短語。
  • 獲取器:getXxx(boolean 類型用 isXxx/hasXxx/canXxx)。
  • 設置器:setXxx。
  • 長度/大小:length()、size()。
  • 轉換器:toXxx(如 toString()、toJson())。
  • 工廠方法:createXxx、buildXxx、of()(靜態工廠)。

4. Variable / Field(變量/字段)

  • 小駝峰,名詞短語,見名知意。
  • 集合類變量建議用複數:userList、idSet、userMap。
  • 布爾類型建議 is/has/can 前綴:isEnabled、hasPermission。
  • 常量:UPPER_SNAKE_CASE,語義完整:DEFAULT_PAGE_SIZE、MAX_RETRY_TIMES。

駝峰法細節:縮寫與特殊單詞處理

最容易產生分歧的場景,參考下表統一標準:

原始詞組小駝峰大駝峰不推薦
XML HTTP requestxmlHttpRequestXmlHttpRequestXMLHTTPRequest
new customer IDnewCustomerIdNewCustomerIdnewCustomerID
inner stopwatchinnerStopwatchInnerStopwatchinnerStopWatch
support IPv6 on iOSsupportIpv6OnIosSupportIpv6OnIossupportIPv6OniOS
Anglo-Saxon EnglandangloSaxonEnglandAngloSaxonEnglandAnglo-SaxonEngland

核心規則

  1. 將所有字母視為單詞,按單詞邊界大寫(縮寫視為一個單詞)。
  2. 縮寫(XML、HTTP、ID、IP、iOS)整體大寫或整體小寫,不要拆分大寫(如 XmlHttp 而非 XMLHTTP)。
  3. 連字符(-)視為單詞分隔符,轉駝峰時去除連字符並大寫下一單詞首字母。

工程落地建議

  • 接入 Checkstyle / SpotBugs / SonarQube 自動化檢查,納入 CI 流水線。
  • IDE 導入統一代碼風格配置(IntelliJ IDEA: Settings → Editor → Code Style → Java)。
  • 新人入職必讀《團隊編碼規約》,Code Review 重點檢查命名合規性。

總結

好的命名是最好的文檔。堅持語義清晰、風格統一、避免歧義三原則,配合自動化工具強制執行,能顯著降低認知負荷,提升團隊協作效率。從今天開始,拒絕 temp、data、obj、UserServiceImpl2 這類無意義命名!

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved