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

Java 命名規範全攻略:包、類、方法、變量、常量統一標準

     編輯:Java 綜合教學

Java 命名規範:統一團隊代碼風格,提升可讀性與維護性

核心原則:駝峰法則

類型規則示例
大駝峰所有單詞首字母大寫UserService, XmlHttpRequest
小駝峰首單詞小寫,其餘首字母大寫userName, getUserById, xmlHttpRequest

本文「駝峰」指小駝峰,「大駝峰」指帕斯卡命名法。

1. 包命名

# 規則:全小寫,域名反轉 + 團隊/項目 + 模塊
# 格式:<反轉域名>.<團隊>.<項目>[.<子模塊>]

com.company.team.project.module
org.apache.commons.lang3
com.alibaba.druid.pool
  • 禁止下劃線、數字開頭、保留字
  • 多級項目可用父子結構:com.company.platform.user.service

2. 類/接口/枚舉/異常命名

❌ 禁用匈牙利命名法

// ❌ 錯誤
interface IUserService { }
class UserService implements IUserService { }

// ✅ 正確
interface UserService { }
class UserServiceImpl implements UserService { }

3. 方法命名

類型規則後綴/前綴示例
普通類大駝峰,名詞/名詞短語-User, OrderService
抽象類大駝峰前綴 AbstractAbstractUserService
異常類大駝峰後綴 ExceptionBusinessException, UserNotFoundException
測試類大駝峰後綴 Test / TestsUserServiceTest
接口大駝峰,形詞/名詞-Serializable, UserRepository
實現類大駝峰接口名 + ImplUserRepositoryImpl
枚舉大駝峰,單數名詞-OrderStatus, Gender
語義規則示例
獲取屬性get + 屬性名(大駝峰)getUserName(), getCreatedAt()
設置屬性set + 屬性名setUserName(String)
返回長度/大小length() / size()String.length(), List.size()
布爾判斷is/has/can/should + 條件isEmpty(), hasPermission(), canExecute()
類型轉換to + 目標類型toString(), toList(), toDto()
業務動作動詞/動詞短語createOrder(), calculateTotal()
構建者模式build(), create()User.builder().name("x").build()

4. 變量/參數/字段命名

  • 局部變量、參數、實例字段:小駝峰
  • 布爾類型建議 is/has/can 開頭:isValid, hasError
  • 集合類型建議復數:userList, orderMap, idSet
  • Map 鍵值語義化:userIdToNameMap, orderIdOrderMap
  • 避免單字母(除循環變量 i/j/k、坐標 x/y/z)

5. 常量命名

# 規則:全大寫,單詞間下劃線分隔
public static final int MAX_RETRY_COUNT = 3;
public static final String DEFAULT_ENCODING = "UTF-8";
public static final long SESSION_TIMEOUT_MILLIS = 30 * 60 * 1000;
  • 枚舉常量同規則:enum Status { SUCCESS, FAILED, PENDING_APPROVAL }

6. 縮寫處理特例表(Google Java Style)

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

原則:將縮寫視為普通單詞,只有首字母大寫。

7. 檢查工具集成



    org.apache.maven.plugins
    maven-checkstyle-plugin
    3.3.1
    
        google_checks.xml
        UTF-8
        true
        true
    
    
        validatecheck
    

推薦 Google Checks 或 Alibaba Java Coding Guidelines (P3C) 插件,IDE 實時提示,構建強制攔截。

總結

命名規範是代碼「第一文檔」。統一包/類/方法/變量/常量命名,配合 Checkstyle/P3C 自動化治理,能顯著降低認知負荷、減少溝通成本、提升代碼專業度。建議團隊制定《命名規範速查卡》,新人入職必讀,Code Review 必查。

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