1. 程式人生 > >「開發者筆記1」Java 程式碼規約清單

「開發者筆記1」Java 程式碼規約清單

第1條 | 程式碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束</a>

第2條 | 程式碼中的命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方式</a>

第3條 | 類名使用 UpperCamelCase 風格,必須遵從駝峰形式,但以下情形例外: DO / BO / DTO / VO / AO</a>

第4條 | 方法名、引數名、成員變數、區域性變數都統一使用lowerCamelCase風格,必須遵從駝峰形式

第5條 | 常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整

第6條 | 抽象類命名使用Abstract或Base開頭;異常類命名使用Exception結尾;測試類命名以它要測試的類名開始,以Test結尾

第7條 | 型別與中括號緊挨相連來定義陣列

第8條 | POJO類中布林型別的變數,都不要加is字首,否則部分框架解析會引起序列化錯誤

第9條 | 包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞。包名統一使用單數形式,但是類名如果有複數含義,類名可以使用複數形式

第10條 | 杜絕完全不規範的縮寫,避免望文不知義。 反例:AbstractClass“縮寫”命名成AbsClass;condition“縮寫”命名成 condi,此類隨意縮寫嚴重降低了程式碼的可閱讀性。

第11條 | 為了達到程式碼自解釋的目標,任何自定義程式設計元素在命名時,使用盡量完整的單詞組合來表達其意。

第12條 | 如果模組、介面、類、方法使用了設計模式,在命名時體現出具體模式。

第13條 | 介面類中的方法和屬性不要加任何修飾符號(public 也不要加),保持程式碼的簡潔性,並加上有效的Javadoc註釋。儘量不要在接口裡定義變數,如果一定要定義變數,肯定是與介面方法相關,並且是整個應用的基礎常量。

| 介面和實現類的命名有兩套規則:

第14條 | 對於Service和DAO類,基於SOA的理念,暴露出來的服務一定是介面,內部的實現類用Impl的字尾與介面區別

第15條 | 如果是形容能力的介面名稱,取對應的形容詞為介面名(通常是–able的形式)

第16條 | 列舉類名建議帶上Enum字尾,列舉成員名稱需要全大寫,單詞間用下劃線隔開。

第17條 | 各層命名規約:

A) Service/DAO層方法命名規約

1) 獲取單個物件的方法用get作字首。

2) 獲取多個物件的方法用list作字首。

3) 獲取統計值的方法用count作字首。

4) 插入的方法用save/insert作字首。

5) 刪除的方法用remove/delete作字首。

6) 修改的方法用update作字首。

B) 領域模型命名規約

1) 資料物件:xxxDO,xxx即為資料表名。

2) 資料傳輸物件:xxxDTO,xxx為業務領域相關的名稱。

3) 展示物件:xxxVO,xxx一般為網頁名稱。

4) POJO是DO/DTO/BO/VO的統稱,禁止命名成xxxPOJO。


說明: 以上內容摘自《阿里巴巴 Java 開發手冊》,版權歸手冊出品團隊所有。本文作者根據自己過往的編碼經驗,對其做一些學習紀要。

免費獲取規約PDF

程式碼檢查外掛