1. 程式人生 > >阿裏java開發規範學習(附P3C IDEA插件 幫助規範的養成)

阿裏java開發規範學習(附P3C IDEA插件 幫助規範的養成)

插入 數據類型 修飾符 序列化 boolean ima tab 設計 布爾

技術分享圖片

淺析 阿裏巴巴 Java 開發規約

(未完成)

contents

  • 編程規約

編程規約

  • 命名規約
  • OOP規約

命名規約

  • 采用空格縮進,禁止使用tab字符。

    這是Google和ali一致的規約,只不過前者是一個tab對應2個空格,後者則是4個空格。之所以不提倡tab鍵,是因為不同的IDE對tab鍵的“翻譯”默認有所差異,容易因不同程序員的個性化而導致同一份代碼的格式混亂。。

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

    定義為基本數據類型boolean isSuccess;的屬性,它的方法也是isSuccess(),RPC框架在反向解析的時候,“以為”對應的屬性名稱是success,導致屬性獲取不到,進而拋出

    異常。

  • 包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞。包名統一使用單數形式,類名若有復數含義,則可使用復數形式。

    避免硬編碼問題是每個程序員都應該具備的基本素養,硬編碼所帶來的可讀性差、維護困難等問題。

  • 接口類中的方法和屬性不要加任何修飾符號(public 也不要加),保持代碼的簡潔性

    正例:接口方法簽名:void f();
    反例:接口方法定義:public abstract void f();

  • Service/DAO層方法命名規約
    1)獲取單個對象的方法用get做前綴。
    2)獲取多個對象的方法用list做前綴。
    3)獲取統計值的方法用count做前綴。
    4)插入的方法用save(推薦)或insert做前綴。

    5)刪除的方法用remove(推薦)或delete做前綴。
    6)修改的方法用update做前綴。

OOP規約

  • 構造方法裏面禁止加入任何業務邏輯,如果有初始化邏輯,請放在init方法中。

  • POJO類必須寫toString方法。使用工具類source> generate toString時,如果繼承了另一個POJO類,註意在前面加一下super.toString。

  • 類內方法定義順序依次是:公有方法或保護方法> 私有方法> getter/setter方法。

    說明:
    公有方法是類的調用者和維護者最關心的方法,首屏展示最好;
    保護方法雖然只是子類關心,也可能是“模板設計模式”下的核心方法;

    而私有方法外部一般不需要特別關心,是一
    個黑盒實現;
    因為方法信息價值較低,所有Service和DAO的getter/setter方法放在類體最
    後。

阿裏java開發規範學習(附P3C IDEA插件 幫助規範的養成)