格式規(guī)約
1. 【強(qiáng)制】大括號的使用約定。如果是大括號內(nèi)為空,則簡潔地寫成{}即可,不需要換行 ; 如果是非空代碼塊則:
1 ) 左大括號前不換行。
2 ) 左大括號后換行。
3 ) 右大括號前換行。
4 ) 右大括號后還有 else 等代碼則不換行 ; 表示終止右大括號后必須換行。
2. 【強(qiáng)制】 左括號和后一個字符之間不出現(xiàn)空格 ; 同樣,右括號和前一個字符之間也不出現(xiàn)空
格。詳見第 5 條下方正例提示。
3. 【強(qiáng)制】 if / for / while / switch / do 等保留字與左右括號之間都必須加空格。
4. 【強(qiáng)制】任何運(yùn)算符左右必須加一個空格。
說明:運(yùn)算符包括賦值運(yùn)算符=、邏輯運(yùn)算符&&、加減乘除符號、三目運(yùn)行符等。
5. 【強(qiáng)制】縮進(jìn)采用 4 個空格,禁止使用 tab 字符。
說明:如果使用 tab 縮進(jìn),必須設(shè)置 1 個 tab 為 4 個空格。IDEA 設(shè)置 tab 為 4 個空格時,請勿勾選 Use tab character ;而在 eclipse 中,必須勾選 insert spaces for tabs 。
正例: ( 涉及 1-5 點(diǎn) )
public static void main(String args[]) { // 縮進(jìn) 4 個空格 String say = "hello"; // 運(yùn)算符的左右必須有一個空格 int flag = 0; // 關(guān)鍵詞 if 與括號之間必須有一個空格,括號內(nèi)的 f 與左括號,0 與右括號不需要空格 if (flag == 0) { System.out.println(say); } // 左大括號前加空格且不換行;左大括號后換行 if (flag == 1) { System.out.println("world"); // 右大括號前換行,右大括號后有 else,不用換行 } else { System.out.println("ok"); // 在右大括號后直接結(jié)束,則必須換行 } }
6. 【強(qiáng)制】單行字符數(shù)限制不超過 120 個,超出需要換行,換行時遵循如下原則:
1) 第二行相對第一行縮進(jìn) 4 個空格,從第三行開始,不再繼續(xù)縮進(jìn),參考示例。
2 ) 運(yùn)算符與下文一起換行。
3 ) 方法調(diào)用的點(diǎn)符號與下文一起換行。
4 ) 在多個參數(shù)超長,逗號后進(jìn)行換行。
5 ) 在括號前不要換行,見反例。
正例:
StringBuffer sb = new StringBuffer(); //超過 120 個字符的情況下,換行縮進(jìn) 4 個空格,并且方法前的點(diǎn)符號一起換行 sb.append("zi").append("xin")... .append("huang")... .append("huang")... .append("huang");
反例:
StringBuffer sb = new StringBuffer(); //超過 120 個字符的情況下,不要在括號前換行 sb.append("zi").append("xin")...append ("huang"); //參數(shù)很多的方法調(diào)用可能超過 120 個字符,不要在逗號前換行 method(args1, args2, args3, ... , argsX);
7. 【強(qiáng)制】方法參數(shù)在定義和傳入時,多個參數(shù)逗號后邊必須加空格。
正例:下例中實(shí)參的" a ",后邊必須要有一個空格。
method("a", "b", "c");
8. 【強(qiáng)制】 IDE 的 text file encoding 設(shè)置為 UTF -8 ; IDE 中文件的換行符使用 Unix 格式,不要使用 windows 格式。
9. 【推薦】沒有必要增加若干空格來使某一行的字符與上一行的相應(yīng)字符對齊。
正例:
int a = 3; long b = 4L; float c = 5F; StringBuffer sb = new StringBuffer();
說明:增加 sb 這個變量,如果需要對齊,則給 a 、 b 、 c 都要增加幾個空格,在變量比較多的情況下,是一種累贅的事情。
10. 【推薦】方法體內(nèi)的執(zhí)行語句組、變量的定義語句組、不同的業(yè)務(wù)邏輯之間或者不同的語義之間插入一個空行。相同業(yè)務(wù)邏輯和語義之間不需要插入空行。
說明:沒有必要插入多行空格進(jìn)行隔開。