| 類型 | 規則 | 示例 |
|---|---|---|
| 大駝峰 | 所有單詞首字母大寫 | UserService, XmlHttpRequest |
| 小駝峰 | 首單詞小寫,其餘首字母大寫 | userName, getUserById, xmlHttpRequest |
本文「駝峰」指小駝峰,「大駝峰」指帕斯卡命名法。
# 規則:全小寫,域名反轉 + 團隊/項目 + 模塊
# 格式:<反轉域名>.<團隊>.<項目>[.<子模塊>]
com.company.team.project.module
org.apache.commons.lang3
com.alibaba.druid.pool
com.company.platform.user.service| 類型 | 規則 | 後綴/前綴 | 示例 |
|---|---|---|---|
| 普通類 | 大駝峰,名詞/名詞短語 | - | User, OrderService |
| 抽象類 | 大駝峰 | 前綴 Abstract | AbstractUserService |
| 異常類 | 大駝峰 | 後綴 Exception | BusinessException, UserNotFoundException |
| 測試類 | 大駝峰 | 後綴 Test / Tests | UserServiceTest |
| 接口 | 大駝峰,形詞/名詞 | - | Serializable, UserRepository |
| 實現類 | 大駝峰 | 接口名 + Impl | UserRepositoryImpl |
| 枚舉 | 大駝峰,單數名詞 | - | 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() |
is/has/can 開頭:isValid, hasErroruserList, orderMap, idSetuserIdToNameMap, orderIdOrderMap# 規則:全大寫,單詞間下劃線分隔
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 }| 原文 | 小駝峰 | 大駝峰 | ❌ 不推薦 |
|---|---|---|---|
| XML HTTP request | xmlHttpRequest | XmlHttpRequest | XMLHTTPRequest |
| new customer ID | newCustomerId | NewCustomerId | newCustomerID |
| inner stopwatch | innerStopwatch | InnerStopwatch | innerStopWatch |
| support IPv6 on iOS | supportIpv6OnIos | SupportIpv6OnIos | supportIPv6OniOS |
| Anglo-Saxon England | angloSaxonEngland | AngloSaxonEngland | Anglo-SaxonEngland |
原則:將縮寫視為普通單詞,只有首字母大寫。
org.apache.maven.plugins
maven-checkstyle-plugin
3.3.1
google_checks.xml
UTF-8
true
true
validate check
推薦 Google Checks 或 Alibaba Java Coding Guidelines (P3C) 插件,IDE 實時提示,構建強制攔截。
命名規範是代碼「第一文檔」。統一包/類/方法/變量/常量命名,配合 Checkstyle/P3C 自動化治理,能顯著降低認知負荷、減少溝通成本、提升代碼專業度。建議團隊制定《命名規範速查卡》,新人入職必讀,Code Review 必查。