一炭序、為什么要有編碼規(guī)范(Why Have Code Conventions)
編碼規(guī)范對于程序員而言尤為重要啤覆,有以下幾個原因:
- 一個軟件的生命周期中,80%的花費在于維護(hù) - 幾乎沒有任何一個軟件惭聂,在其整個生命周期中城侧,均由最初的開發(fā)人員來維護(hù) - 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼 - 如果你將源碼作為產(chǎn)品發(fā)布彼妻,就需要確任它是否被很好的打包并且清晰無誤,一如你已構(gòu)建的 其它任何產(chǎn)品豆茫。為了執(zhí)行規(guī)范侨歉,每個軟件開發(fā)人員必須一致遵守編碼規(guī)范
二Java 源文件(.java文件)
每個 Java 源文件都包含一個單一的公共類或接口。若私有類和接口與一個公共類相關(guān)聯(lián)揩魂,可以 將它們和公共類放入同一個源文件幽邓。公共類必須是這個文件中的第一個類或接口。
Java 源文件還遵循以下規(guī)則:
1 開頭注釋火脉,其中列出類名牵舵、版本信息柒啤、日期和版權(quán) 聲明
例如:
2 包和引入語句
在多數(shù) Java 源文件中,第一個非注釋行是包語句畸颅。在它之后可以跟引入語句担巩。例如:
package java.awt;
import java.awt.peer.CanvasPeer;
3 類和接口聲明
下表描述了類和接口聲明的各個部分以及它們出現(xiàn)的先后次序。
三没炒、排版規(guī)范
1涛癌、4 個空格常被作為縮進(jìn)排版的一個單位。
2送火、行長度
盡量避免一行的長度超過 80 個字符拳话,因為很多終端和工具不能很好處理。
注意:用于文檔中的例子應(yīng)該使用更短的行長种吸,長度一般不超過 70 個字符弃衍。
3、 換行
當(dāng)一個表達(dá)式無法容納在一行內(nèi)時坚俗,可以依據(jù)如下一般規(guī)則斷開之:
- 在一個逗號后面斷開
- 在一個操作符前面斷開
- 寧可選擇較高級別(higher-level)的斷開镜盯,而非較低級別(lower-level)的斷開
- 新的一行應(yīng)該與上一行同一級別表達(dá)式的開頭處對齊
- 如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進(jìn) 8 個空格坦冠。
以下是斷開方法調(diào)用的一些例子:
以下是兩個斷開算術(shù)表達(dá)式的例子形耗。前者更好,因為斷開處位于括號表達(dá)式的外邊辙浑,這是個較高 級別的斷開激涤。
以下是兩個縮進(jìn)方法聲明的例子。前者是常規(guī)情形判呕。后者若使用常規(guī)的縮進(jìn)方式將會使第二行和 第三行移得很靠右倦踢,所以代之以縮進(jìn) 8 個空格
//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) { ... }
以下是兩個縮進(jìn)方法聲明的例子。前者是常規(guī)情形侠草。后者若使用常規(guī)的縮進(jìn)方式將會使第二行和 第三行移得很靠右辱挥,所以代之以縮進(jìn) 8 個空格
四、語句
1边涕、每行至多包含一條語句
int a; int b;(這樣的代碼最好不要出現(xiàn))
2晤碘、復(fù)合語句是包含在大括號中的語句序列,形如"{ 語句 }"功蜓。例如下面各段园爷。
- 被括其中的語句應(yīng)該較之復(fù)合語句縮進(jìn)一個層次
- 左大括號"{"應(yīng)位于復(fù)合語句起始行的行尾;右大括號"}"應(yīng)另起一行并與復(fù)合語句首行對齊式撼。
- 大括號可以被用于所有語句童社,如果是單個語句,最好也是用大括號著隆,這樣便于添加語句而無需擔(dān)心由于忘了加括號而引入 bug扰楼。
3呀癣、if語句的格式:
五、空行
1 空行弦赖,空行將邏輯相關(guān)的代碼段分隔開项栏,以提高可讀性。
下列情況應(yīng)該總是使用兩個空行:
- 一個源文件的兩個片段(section)之間 - 類聲明和接口聲明之間
下列情況應(yīng)該總是使用一個空行: - 兩個方法之間
- 方法內(nèi)的局部變量和方法的第一條語句之間
- 一個方法內(nèi)的兩個邏輯段之間腾节,用以提高可讀性
六忘嫉、命名規(guī)范
·參考文獻(xiàn)《Java 語言編碼規(guī)范》