## 碼出高效——小組代碼規範

碼出高效——小組代碼規範

編程規約

一.命名風格

  • 1.代碼中的命名不能如下劃線、美圓符號開頭或結尾。java

    反例:_name/$name/name&/name_編程

  • 2.【強制】代碼中的命名嚴禁使用拼音與英文混合的方式,更不容許直接使用中文的方式。 說明:正確的英文拼寫和語法可讓閱讀者易於理解,避免歧義。注意,即便純拼音命名方式
    也要避免採用。數組

    正例:name/age/address等國際通用的可使用。 反例:mingzi/getNiJi()/dizhi等不可以使用。安全

  • 3.【強制】類名使用 UpperCamelCase 風格,即首字母大寫測試

    正例:MyBase/ViewPager/ViewPagerAdpter 反例:mybase/viewpager/viewpageradpter編碼

  • 4.【強制】方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,必須聽從
    駝峯形式。代碼規範

    正例:myBase/getMessage()/viewPager code

  • 5.【強制】常量命名所有大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。對象

    正例:MAX_STOCK_COUNT 反例:MAX_COUNT接口

  • 6.【強制】抽象類命名使用 Abstract 或 Base 開頭;異常類命名使用 Exception 結尾;測試類
    命名以它要測試的類的名稱開始,以 Test 結尾。

    正例:AbstractAnimals/NotfoundException

  • 7.【強制】類型與中括號緊挨相連來表示數組。

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

  • 8.【參考】各層命名規約: - 獲取單個對象的方法用 get 作前綴。
    • 獲取多個對象的方法用 list作前綴,複數形式結尾如:listObjects。
    • 獲取統計值的方法用 count 作前綴。
    • 插入的方法用 save/insert 作前綴。
    • 刪除的方法用 remove/delete 作前綴。
    • 修改的方法用 update 作前綴。

二.常量定義

  • 1.【強制】不容許任何魔法值(即未經預先定義的常量)直接出如今代碼中。
  • 2.【強制】在 long 或者 Long 賦值時,數值後使用大寫的

    L,不能是小寫的 l,小寫容易跟數字
    1 混淆,形成誤解。
    說明:Long a = 2l; 寫的是數字的 21,仍是 Long 型的 2?

    三.代碼格式

  • 1.【強制】大括號的使用約定。若是是大括號內爲空,則簡潔地寫成{}便可,不須要換行;若是
    是非空代碼塊則: - 左大括號前不換行。
    • 左大括號後換行。
    • 右大括號前換行。
    • 右大括號後還有 else 等代碼則不換行;表示終止的右大括號後必須換行。
  • 2.【強制】if/for/while/switch/do 等保留字與括號之間都必須加空格。
  • 3.【強制】註釋的雙斜線與註釋內容之間有且僅有一個空格。
  • 4.【強制】任何二目、三目運算符之間必須加一個空格。
  • 5.採用四個空格縮進、嚴謹使用tab鍵縮進!

    舉例:

public static void main(String[] args) {
// 縮進 4 個空格
String say = "hello";
// 運算符的左右必須有一個空格
int flag = 0;
// 關鍵詞 if 與括號之間必須有一個空格,括號內的 f 與左括號,0 與右括號不須要空格
if (flag == 0) {
System.out.println(say);
}

// 左大括號前加空格且不換行;左大括號後換行
if (flag == 1) {
System.out.println("world");
// 右大括號前換行,右大括號後有 else,不用換行
} else {
System.out.println("ok");
// 在右大括號後直接結束,則必須換行
}
}
  • 6.【強制】註釋的雙斜線與註釋內容之間有且僅有一個空格。
// 這是示例註釋,請注意在雙斜線以後有一個空格
String ygb = new String();
  • 7.【強制】方法參數在定義和傳入時,多個參數逗號後邊必須加空格。
// 下例中實參的 args1,後邊必需要有一個空格。
method(args1, args2, args3);
  • 8.【推薦】沒有必要增長若干空格來使某一行的字符與上一行對應位置的字符對齊。
// 反例:
int aa = 1;
int bb = 2;
int  c = 3;// 不必爲了等號對齊而多添加空格。

四.控制語句

  • 1.【強制】在一個 switch 塊內,每一個 case 要麼經過 break/return 等來終止,要麼註釋說明程
    序將繼續執行到哪個 case 爲止;在一個 switch 塊內,都必須包含一個 default 語句而且
    放在最後,即便空代碼。
  • 2.【強制】在 if/else/for/while/do 語句中必須使用大括號。即便只有一行代碼,避免採用
    單行的編碼方式:if (condition) statements;

五.註釋語句

  • 1.【強制】類、類屬性、類方法的註釋必須使用 Javadoc 規範,使用/**內容*/格式,不得使用
    // xxx 方式。
  • 2.【強制】全部的抽象方法(包括接口中的方法)必需要用 Javadoc 註釋、除了返回值、參數、
    異常說明外,還必須指出該方法作什麼事情,實現什麼功能。

    說明:對子類的實現要求,或者調用注意事項,請一併說明。

  • 3.【強制】全部的類都必須添加建立者和建立日期。

    安全規則

  • 【強制】用戶敏感數據禁止直接展現

    例一:中國大陸我的手機號碼顯示爲:158****9119,隱藏中間 4 位,防止隱私泄露。 例二:密碼不能被看到,例如********。

    參考資料

    本文參考《阿里巴巴java開發手冊》

相關文章
相關標籤/搜索