JAVA技術規範

JAVA技術規範

整理一些比較常用的一些技術規範

1、代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。

反例:_name / name / name/name/namename / name_ / name / name

2、代碼中的命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方式。

3、類名使用 UpperCamelCase 風格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等。

正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

4、方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,必須遵從駝峯形式。

正例: localValue / getHttpMessage() / inputUserId

5、常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。

正例:MAX_STOCK_COUNT
反例:MAX_COUNT

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

7、類型與中括號緊挨相連來表示數組。

正例:定義整形數組 int[] arrayDemo;
反例:在 main 參數中,使用 String args[]來定義

8、POJO 類中布爾類型的變量,都不要加 is 前綴,否則部分框架解析會引起序列化錯誤。

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

10、杜絕完全不規範的縮寫,避免望文不知義

11、爲了達到代碼自解釋的目標,任何自定義編程元素在命名時,使用盡量完整的單詞組合來表達其意

12、如果模塊、接口、類、方法使用了設計模式,在命名時需體現出具體模式。##

說明:將設計模式體現在名字中,有利於閱讀者快速理解架構設計理念。
正例:public class OrderFactory;
public class LoginProxy;
public class ResourceObserver;

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

正例:接口方法簽名 void commit();
接口基礎常量 String COMPANY = “alibaba”;
反例:接口方法定義 public abstract void f();
說明:JDK8 中接口允許有默認實現,那麼這個 default 方法,是對所有實現類都有價值的默認實現

14、枚舉類名建議帶上 Enum 後綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。

說明:枚舉其實就是特殊的類,域成員均爲常量,且構造方法被默認強制是私有。

15、不允許任何魔法值(即未經預先定義的常量)直接出現在代碼中。

16、在 long 或者 Long 賦值時,數值後使用大寫的 L,不能是小寫的 l,小寫容易跟數字1 混淆,造成誤解

17、不要使用一個常量類維護所有常量,要按常量功能進行歸類,分開維護

18、如果變量值僅在一個固定範圍內變化用 enum 類型來定義

19、大括號的使用約定。如果是大括號內爲空,則簡潔地寫成{}即可,不需要換行;如果是非空代碼塊則:

1) 左大括號前不換行。
2) 左大括號後換行。
3) 右大括號前換行。
4) 右大括號後還有 else 等代碼則不換行;表示終止的右大括號後必須換行。

20、左小括號和字符之間不出現空格;同樣,右小括號和字符之間也不出現空格;而左大括號前需要空格

21、if/for/while/switch/do 等保留字與括號之間都必須加空格

22、註釋的雙斜線與註釋內容之間有且僅有一個空格

23、單個方法的總行數不超過 80 行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章