阿里巴巴Java開發手冊

一,命名風格

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

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

3,(強制)所有的布爾類型的變量,都不加is,否則某些框架會有序列化的錯誤。

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

5,(強制)杜絕不規範的縮寫,比如condition簡寫成condi,降低了可讀性。

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

7,(推薦)如果使用了設計模式,可以將設計模式名稱放到命名中,增加可讀性,比如OrderFactory,ResourceObserver

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

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


二,常量定義

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方法來拷貝對象,因爲默認是淺拷貝。


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