阿里巴巴Java開發手冊

一,命名風格設計模式

1,(強制)類的命名使用駝峯命名,DO(表名的數據對象),DTO(頁面數據傳輸對象),VO(展現對象),能夠以上的結尾,能夠不遵照駝峯規則。(POJO是以上的統稱)框架

2,(強制)抽象類使用Abstract開頭,異常類使用Exception結尾,測試類使用Test結尾,枚舉類使用Enum結尾。ide

3,(強制)全部的布爾類型的變量,都不加is,不然某些框架會有序列化的錯誤。測試

4,(強制)包名統一使用小寫,包名使用單數形式。設計

5,(強制)杜毫不規範的縮寫,好比condition簡寫成condi,下降了可讀性。指針

6,(強制)儘可能達到代碼字解釋目標,不要使用int a這樣的變量名server

7,(推薦)若是使用了設計模式,能夠將設計模式名稱放到命名中,增長可讀性,好比OrderFactory,ResourceObserver對象

8,(強制)接口類中的方法,不加任何的修飾符,例如void f();不要public等修飾。接口

9,(推薦)service/DAO中方法命名規則:得到單個對象使用get前綴,得到多個對象使用list前綴,統計方法使用count前綴,插入的方法使用save/insert作前綴,刪除使用remove/delete作前綴,修改使用update作前綴。rem


二,常量定義

1,(強制)不容許任何未定義的常量出如今代碼中,好比未定義的字符串或者數字,「id_」,999等。

2,(強制)長整型的變量使用大寫L不適用小寫l,避免l和1混淆。好比使用Long a = 2L;不適用Long b = 2l;

3,(推薦)定義變量的類使用五層分開:跨應用共享常量、應用內共享常量、子工程內共享常量、包內共享常量、類內共享常量。

4,(推薦)若是變量值僅在一個範圍內變化,且帶着名稱以外的延伸屬性,定義爲枚舉類型。


三,代碼格式

1,(強制)if/for/while/switch/do等關鍵字和括號之間必須有空格

2,(強制)// 註釋之間必須有一個空格

3,(強制)方法參數在定義和傳入時,多個參數逗號後邊必須加空格。


四,OOP規約

1,(強制)避免經過一個類的對象引用訪問此類的靜態方法或靜態方法,直接用類名來訪問

2,(強制)重寫的方法都加上@Override

3,(強制)相同參數類型,相同業務含義,纔可使用可變參數,避免使用object作可變參數。

4,(強制)不能使用過期的類和方法,過期的類和方法必須註明替代方法

5,(強制)Object的equals方法容易形成空指針,使用"test".equals(object)不使用object.equals("test")

6,(強制)Integer在-128至127以內和基本數據類型是相同的,Integer的比較必須使用equals比較

7,(強制)全部的POJO,方法的接收參數返回值都是用包裝數據類型,局部變量使用基本數據類型。

8,(強制)POJO中不設定任何屬性的默認值,可能引發沒必要要的問題

9,(強制)構造方法中禁止加入任何的業務邏輯,若是有初始化邏輯,請放在init方法中

10,(強制)POJO類必須寫toString方法。

15,(推薦)當一個類多個構造方法,或者多個重載方法,必須按順序放置一塊兒,方便閱讀。

16,(推薦)類內的方法定義順序:公有方法或保護方法>私有方法>getter/setter

17,(推薦)getter/setter中不增長業務邏輯

18,(推薦)慎用Object的clone方法來拷貝對象,由於默認是淺拷貝。

相關文章
相關標籤/搜索