阿里 java 開發手冊
本文引用阿里Java開發手冊。
GitHub閱讀地址:Java程式設計規範
目錄
程式設計規約
命名規約
1、【強制】 所有程式設計相關命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束
- 1
- 1
2、【強制】 所有程式設計相關的命名嚴禁使用拼音與英語混合的方式,更不允許直接使用中的方式。
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
3、【強制】 類名使用 UpperCamelCase 風格,必須遵從駝峰形式,但以下情形例外:(領域模型的相關命名) DO / DTO / VO / DAO 等。
- 1
- 2
- 3
- 1
- 2
- 3
4、【強制】 方法名、引數名、成員變數、區域性變數都統一隻用 lowerCamelCase
風格,必須遵從駝峰形式。
- 1
- 1
5、【強制】 常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。
- 1
- 2
- 3
- 1
- 2
- 3
6、【強制】 抽象類命名使用 Abstract
或 Base
開頭;異常類命名使用 Exception
結尾;測試類命名以它要測試的類的名稱開始,以 Test
結尾。
7、【強制】 中括號是陣列型別的一部分,陣列定義如下: String[] args
;
- 1
- 1
8、【強制】 POJO 類中的任何布林型別的變數,都不要加 is,否則部分框架解析會引起序列化錯誤。
- 1
- 1
9、【強制】 包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞。包名統一使用單數形式,但是類名如果有複數含義,類名可以使用複數形式。
- 1
- 1
10、【強制】 杜絕完全不規範的縮寫,避免望文不知義。
- 1
- 1
11、【推薦】 如果使用到了設計模式,建議在類名中體現出具體模式。
- 1
- 2
- 3
- 1
- 2
- 3
12、【推薦】 介面類中的方法和屬性不要加任何修飾符號( public 也不要加),保持程式碼的簡潔性,並加上有效的 javadoc 註釋。儘量不要在接口裡定義變數,如果一定要定義變數,肯定是與介面方法相關,並且是整個應用的基礎常量。
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
13、介面和實現類的命名有兩套規則:
- 1
- 2
- 3
- 1
- 2
- 3
14、【參考】 列舉類名建議帶上 Enum
字尾,列舉成員名稱需要全大寫,單詞間用下劃線隔開。
- 1
- 2
- 3
- 1
- 2
- 3
15、【參考】 各層命名規約:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
常量定義
1、【強制】 不允許出現任何魔法值(即未經定義的常量)直接出現在程式碼中。
- 1
- 1
2、【強制】 long 或者 Long 初始賦值時,必須使用大寫的 L
,不能是小寫的 l,小寫容易跟數字 1混淆,造成誤解。
- 1
- 1
3、【推薦】 不要使用一個常量類維護所有常量,應該按常量功能進行歸類,分開維護。如:快取相關的常量放在類: CacheConsts 下;系統配置相關的常量放在類: ConfigConsts 下。
- 1
- 1
4、【推薦】 常量的複用層次有五層:跨應用共享常量、應用內共享常量、子工程內共享常量、包內共享常量、類內共享常量。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
5、【推薦】 如果變數值僅在一個範圍內變化用 Enum 類。如果還帶有名稱之外的延伸屬性,必須使用 Enum
類,下面正例中的數字就是延伸資訊,表示星期幾。
- 1
- 1
格式規範
1、【強制】 大括號的使用約定。如果是大括號內為空,則簡潔地寫成{}即可,不需要換行; 如果是非空程式碼塊則:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2、【強制】 左括號和後一個字元之間不出現空格; 同樣,右括號和前一個字元之間也不出現空格。詳見第 5 條下方正例提示。
3、【強制】 if/for/while/switch/do 等保留字與左右括號之間都必須加空格。
4、【強制】 任何運算子左右必須加一個空格。
- 1
- 1
5、【強制】 縮排採用 4 個空格,禁止使用 tab 字元。