java代碼規范(三)代碼格式


 

1. 【強制】如果是大括號內為空,則簡潔地寫成{}即可,大括號中間無需換行和空格;如果是非
  空代碼塊則:
  1) 左大括號前不換行。
  2) 左大括號后換行。
  3) 右大括號前換行。
  4) 右大括號后還有 else 等代碼則不換行;表示終止的右大括號后必須換行。


2. 【強制】左小括號和右邊相鄰字符之間不出現空格;右小括號和左邊相鄰字符之間也不出現空
格;而左大括號前需要加空格。詳見第 5 條下方正例提示。
  反例:if (空格 a == b 空格)


3. 【強制】if/for/while/switch/do 等保留字與括號之間都必須加空格。


4. 【強制】任何二目、三目運算符的左右兩邊都需要加一個空格。
  說明:包括賦值運算符=、邏輯運算符&&、加減乘除符號等。


5. 【強制】采用 4 個空格縮進,禁止使用 Tab 字符。
  說明:如果使用 Tab 縮進,必須設置 1 個 Tab 為 4 個空格。IDEA 設置 Tab 為 4 個空格時,請勿勾選 Use
tab character;而在 Eclipse 中,必須勾選 insert spaces for tabs。
  正例: (涉及 1-5 點)

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 commentString = new String();

7. 【強制】在進行類型強制轉換時,右括號與強制轉換值之間不需要任何空格隔開。

  正例:

  double first = 3.2d;

  int second = (int)first + 2; 

 

8. 【強制】單行字符數限制不超過 120 個,超出需要換行,換行時遵循如下原則:

  1)第二行相對第一行縮進 4 個空格,從第三行開始,不再繼續縮進,參考示例。

  2)運算符與下文一起換行。

  3)方法調用的點符號與下文一起換行。

  4)方法調用中的多個參數需要換行時,在逗號后進行。

  5)在括號前不要換行,見反例。

  正例:

StringBuilder sb = new StringBuilder();
// 超過 120 個字符的情況下,換行縮進 4 個空格,並且方法前的點號一起換行
sb.append("yang").append("hao")...
 .append("chen")...
 .append("chen")...
 .append("chen");

  反例:

StringBuilder sb = new StringBuilder();
// 超過 120 個字符的情況下,不要在括號前換行
sb.append("you").append("are")...append
 ("lucky");
// 參數很多的方法調用可能超過 120 個字符,逗號后才是換行處
method(args1, args2, args3, ...
 , argsX);

 

9. 【強制】方法參數在定義和傳入時,多個參數逗號后面必須加空格。

  正例:下例中實參的 args1,后邊必須要有一個空格。

  method(args1, args2, args3); 

 

10.【強制】IDE 的 text file encoding 設置為 UTF-8; IDE 中文件的換行符使用 Unix 格式,不要

使用 Windows 格式。

 

11.【推薦】單個方法的總行數不超過 80 行。

  說明:除注釋之外的方法簽名、左右大括號、方法內代碼、空行、回車及任何不可見字符的總行數不超過

80 行。

  正例:代碼邏輯分清紅花和綠葉,個性和共性,綠葉邏輯單獨出來成為額外方法,使主干代碼更加清晰;共

性邏輯抽取成為共性方法,便於復用和維護。

 

12.【推薦】沒有必要增加若干空格來使變量的賦值等號與上一行對應位置的等號對齊。

  正例:

  int one = 1;

  long two = 2L;

  float three = 3F;

  StringBuilder sb = new StringBuilder();

  說明:增加 sb 這個變量,如果需要對齊,則給 one、two、three 都要增加幾個空格,在變量比較多的情

況下,是非常累贅的事情。

 

13.【推薦】不同邏輯、不同語義、不同業務的代碼之間插入一個空行分隔開來以提升可讀性。

  說明:任何情形,沒有必要插入多個空行進行隔開。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM