一、為什么要有編碼規(guī)范(Why Have Code Conventions)
編碼規(guī)范對(duì)于程序員而言尤為重要,有以下幾個(gè)原因:
- 一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù) - 幾乎沒有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開發(fā)人員來維護(hù) - 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼 - 如果你將源碼作為產(chǎn)品發(fā)布,就需要確任它是否被很好的打包并且清晰無誤,一如你已構(gòu)建的 其它任何產(chǎn)品。為了執(zhí)行規(guī)范,每個(gè)軟件開發(fā)人員必須一致遵守編碼規(guī)范
二Java 源文件(.java文件)
每個(gè) Java 源文件都包含一個(gè)單一的公共類或接口。若私有類和接口與一個(gè)公共類相關(guān)聯(lián),可以 將它們和公共類放入同一個(gè)源文件。公共類必須是這個(gè)文件中的第一個(gè)類或接口。
Java 源文件還遵循以下規(guī)則:
1 開頭注釋,其中列出類名、版本信息、日期和版權(quán) 聲明
例如:

2 包和引入語句
在多數(shù) Java 源文件中,第一個(gè)非注釋行是包語句。在它之后可以跟引入語句。例如:
package java.awt;
import java.awt.peer.CanvasPeer;
3 類和接口聲明
下表描述了類和接口聲明的各個(gè)部分以及它們出現(xiàn)的先后次序。

三、排版規(guī)范
1、4 個(gè)空格常被作為縮進(jìn)排版的一個(gè)單位。
2、行長度
盡量避免一行的長度超過 80 個(gè)字符,因?yàn)楹芏嘟K端和工具不能很好處理。
注意:用于文檔中的例子應(yīng)該使用更短的行長,長度一般不超過 70 個(gè)字符。
3、 換行
當(dāng)一個(gè)表達(dá)式無法容納在一行內(nèi)時(shí),可以依據(jù)如下一般規(guī)則斷開之:
- 在一個(gè)逗號(hào)后面斷開
- 在一個(gè)操作符前面斷開
- 寧可選擇較高級(jí)別(higher-level)的斷開,而非較低級(jí)別(lower-level)的斷開
- 新的一行應(yīng)該與上一行同一級(jí)別表達(dá)式的開頭處對(duì)齊
- 如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進(jìn) 8 個(gè)空格。
以下是斷開方法調(diào)用的一些例子:

以下是兩個(gè)斷開算術(shù)表達(dá)式的例子。前者更好,因?yàn)閿嚅_處位于括號(hào)表達(dá)式的外邊,這是個(gè)較高 級(jí)別的斷開。

以下是兩個(gè)縮進(jìn)方法聲明的例子。前者是常規(guī)情形。后者若使用常規(guī)的縮進(jìn)方式將會(huì)使第二行和 第三行移得很靠右,所以代之以縮進(jìn) 8 個(gè)空格
//CONVENTIONAL INDENTATION someMethod(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) { ... }
//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS private static synchronized horkingLongMethodName(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) { ... }
以下是兩個(gè)縮進(jìn)方法聲明的例子。前者是常規(guī)情形。后者若使用常規(guī)的縮進(jìn)方式將會(huì)使第二行和 第三行移得很靠右,所以代之以縮進(jìn) 8 個(gè)空格

四、語句
1、每行至多包含一條語句
int a; int b;(這樣的代碼最好不要出現(xiàn))
2、復(fù)合語句是包含在大括號(hào)中的語句序列,形如"{ 語句 }"。例如下面各段。
- 被括其中的語句應(yīng)該較之復(fù)合語句縮進(jìn)一個(gè)層次
- 左大括號(hào)"{"應(yīng)位于復(fù)合語句起始行的行尾;右大括號(hào)"}"應(yīng)另起一行并與復(fù)合語句首行對(duì)齊。
- 大括號(hào)可以被用于所有語句,如果是單個(gè)語句,最好也是用大括號(hào),這樣便于添加語句而無需擔(dān)心由于忘了加括號(hào)而引入 bug。
3、if語句的格式:

五、空行
1 空行,空行將邏輯相關(guān)的代碼段分隔開,以提高可讀性。
下列情況應(yīng)該總是使用兩個(gè)空行:
- 一個(gè)源文件的兩個(gè)片段(section)之間 - 類聲明和接口聲明之間
下列情況應(yīng)該總是使用一個(gè)空行: - 兩個(gè)方法之間
- 方法內(nèi)的局部變量和方法的第一條語句之間
- 一個(gè)方法內(nèi)的兩個(gè)邏輯段之間,用以提高可讀性
六、命名規(guī)范

·參考文獻(xiàn)《Java 語言編碼規(guī)范》