Java開(kāi)發(fā) 代碼格式

2021-01-12 10:41 更新

\1. 【強(qiáng)制】如果是大括號(hào)內(nèi)為空,則簡(jiǎn)潔地寫成{}即可,大括號(hào)中間無(wú)需換行和空格;如果是非空代碼塊則:

? 1) 左大括號(hào)前不換行。

? 2) 左大括號(hào)后換行。

? 3) 右大括號(hào)前換行。

? 4) 右大括號(hào)后還有 else 等代碼則不換行;表示終止的右大括號(hào)后必須換行。

\2. 【強(qiáng)制】左小括號(hào)和右邊相鄰字符之間不出現(xiàn)空格;右小括號(hào)和左邊相鄰字符之間也不出現(xiàn)空格;而左大括號(hào)前需要加空格。詳見(jiàn)第 5 條下方正例提示。

反例:if (空格 a == b 空格)

\3. 【強(qiáng)制】if/for/while/switch/do 等保留字與括號(hào)之間都必須加空格。

\4. 【強(qiáng)制】任何二目、三目運(yùn)算符的左右兩邊都需要加一個(gè)空格。

說(shuō)明:包括賦值運(yùn)算符=、邏輯運(yùn)算符&&、加減乘除符號(hào)等。

\5. 【強(qiáng)制】采用 4 個(gè)空格縮進(jìn),禁止使用 Tab 字符。

說(shuō)明:如果使用 Tab 縮進(jìn),必須設(shè)置 1 個(gè) Tab 為 4 個(gè)空格。IDEA 設(shè)置 Tab 為 4 個(gè)空格時(shí),請(qǐng)勿勾選 Use tab character;而在 Eclipse 中,必須勾選 insert spaces for tabs。


正例: (涉及 1-5 點(diǎn))
public static void main(String[] args) {
    // 縮進(jìn) 4 個(gè)空格
    String say = "hello";
    // 運(yùn)算符的左右必須有一個(gè)空格
    int flag = 0;
    // 關(guān)鍵詞 if 與括號(hào)之間必須有一個(gè)空格,括號(hào)內(nèi)的 f 與左括號(hào),0 與右括號(hào)不需要空格
    if (flag == 0) {
        System.out.println(say);
    }
    // 左大括號(hào)前加空格且不換行;左大括號(hào)后換行
    if (flag == 1) {
    System.out.println("world");
    // 右大括號(hào)前換行,右大括號(hào)后有 else,不用換行
    } else {
        System.out.println("ok");
        // 在右大括號(hào)后直接結(jié)束,則必須換行
    } 
}

\6. 【強(qiáng)制】注釋的雙斜線與注釋內(nèi)容之間有且僅有一個(gè)空格。

正例:
// 這是示例注釋,請(qǐng)注意在雙斜線之后有一個(gè)空格
String commentString = new String();

\7. 【強(qiáng)制】在進(jìn)行類型強(qiáng)制轉(zhuǎn)換時(shí),右括號(hào)與強(qiáng)制轉(zhuǎn)換值之間不需要任何空格隔開(kāi)。

正例:
double first = 3.2d;
int second = (int)first + 2; 

\8. 【強(qiáng)制】單行字符數(shù)限制不超過(guò) 120 個(gè),超出需要換行,換行時(shí)遵循如下原則:

? 1)第二行相對(duì)第一行縮進(jìn) 4 個(gè)空格,從第三行開(kāi)始,不再繼續(xù)縮進(jìn),參考示例。

? 2)運(yùn)算符與下文一起換行。

? 3)方法調(diào)用的點(diǎn)符號(hào)與下文一起換行。

? 4)方法調(diào)用中的多個(gè)參數(shù)需要換行時(shí),在逗號(hào)后進(jìn)行。

? 5)在括號(hào)前不要換行,見(jiàn)反例。

正例:
StringBuilder sb = new StringBuilder();
// 超過(guò) 120 個(gè)字符的情況下,換行縮進(jìn) 4 個(gè)空格,并且方法前的點(diǎn)號(hào)一起換行
sb.append("yang").append("hao")...
    .append("chen")...
    .append("chen")...
    .append("chen");


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

\9. 【強(qiáng)制】方法參數(shù)在定義和傳入時(shí),多個(gè)參數(shù)逗號(hào)后面必須加空格。

正例:
下例中實(shí)參的 args1,后邊必須要有一個(gè)空格。
method(args1, args2, args3); 

\10.【強(qiáng)制】IDE 的 text file encoding 設(shè)置為 UTF-8; IDE 中文件的換行符使用 Unix 格式,不要使用 Windows 格式。

\11.【推薦】單個(gè)方法的總行數(shù)不超過(guò) 80 行。

說(shuō)明:除注釋之外的方法簽名、左右大括號(hào)、方法內(nèi)代碼、空行、回車及任何不可見(jiàn)字符的總行數(shù)不超過(guò) 80 行。


正例:代碼邏輯分清紅花和綠葉,個(gè)性和共性,綠葉邏輯單獨(dú)出來(lái)成為額外方法,使主干代碼更加清晰;共性邏輯抽取成為共性方法,便于復(fù)用和維護(hù)。

\12.【推薦】沒(méi)有必要增加若干空格來(lái)使變量的賦值等號(hào)與上一行對(duì)應(yīng)位置的等號(hào)對(duì)齊。

正例:
int one = 1;
long two = 2L;
float three = 3F;
StringBuilder sb = new StringBuilder();


說(shuō)明:增加 sb 這個(gè)變量,如果需要對(duì)齊,則給 one、two、three 都要增加幾個(gè)空格,在變量比較多的情況下,是非常累贅的事情。

\13.【推薦】不同邏輯、不同語(yǔ)義、不同業(yè)務(wù)的代碼之間插入一個(gè)空行分隔開(kāi)來(lái)以提升可讀性。

說(shuō)明:任何情形,沒(méi)有必要插入多個(gè)空行進(jìn)行隔開(kāi)。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)