Java語言編碼規範(一) (轉)

worldblog發表於2007-12-14
Java語言編碼規範(一) (轉)[@more@]

如需複製、傳播,請附上本宣告,謝謝。
原文出處:http://.sun.com/docs/codeconv/html/CodeConvTOC.doc.html,
譯文出處:,moyingzz@etang.

1 介紹(Introduction)

員而言尤為重要,有以下幾個原因:

- 一個的生命週期中,80%的花費在於維護
- 幾乎沒有任何一個軟體,在其整個生命週期中,均由最初的開發人員來維護
- 編碼規範可以改善軟體的可讀性,可以讓程式設計師儘快而徹底地理解新的程式碼
- 如果你將原始碼作為產品釋出,就需要確任它是否被很好的打包並且清晰無誤,一如你已構建的其它任何產品

為了規範,每個人員必須一致遵守編碼規範。每個人。

tt Hommel。

本文件現由Scott Hommel維護,有關評論意見請發至shommel@eng.sun.com

名(File Names)

這部分列出了常用的檔名及其字尾。

makefile makefiles的首選檔名。我們採用gnumake來建立(build)軟體。 README 概述特定目錄下所含內容的檔案的首選檔名

Files)

每個Java原始檔都包含一個單一的公共類或介面。若私有類和介面與一個公共類相關聯,可以將它們和公共類放入同一個原始檔。公共類必須是這個檔案中的第一個類或介面。

Java原始檔還遵循以下規則:

- 開頭註釋(參見"")
- 包和引入語句(參見"")
- 類和介面宣告(參見"")

eer;


"中一個包含註釋的例子。

  類/介面宣告的各部分註解 1 類/介面文件註釋(/**……*/) 該註釋中所需包含的資訊,參見"" 2 類或介面的宣告   3 類/介面實現的註釋(/*……*/)如果有必要的話該註釋應包含任何有關整個類或介面的資訊,而這些資訊又不適合作為類/介面文件註釋。 4 類的(靜態)變數首先是類的公共變數,隨後是保護變數,再後是包一級別的變數(沒有訪問修飾符,access modifier),最後是私有變數。 5 例項變數首先是公共級別的,隨後是保護級別的,再後是包一級別的(沒有訪問修飾符),最後是私有級別的。 6 構造器   7 方法這些方法應該按功能,而非作用域或訪問,分組。例如,一個私有的類方法可以置於兩個公有的例項方法之間。其目的是為了更便於閱讀和理解程式碼。

Lines)

當一個無法容納在一行內時,可以依據如下一般規則斷開之:

- 在一個逗號後面斷開
- 在一個運算子前面斷開
- 寧可選擇較高階別(higher-level)的斷開,而非較低階別(lower-level)的斷開
- 新的一行應該與上一行同一級別表示式的開頭處對齊
- 如果以上規則導致你的程式碼混亂或者使你的程式碼都堆擠在右邊,那就代之以縮排8個空格。

以下是斷開方法的一些例子:

someMethod(longExpression1, longExpression2, longExpression3, longExpression4, longExpression5); var = someMethod1(longExpression1, someMethod2(longExpression2, longExpression3));


以下是兩個斷開算術表示式的例子。前者更好,因為斷開處位於括號表示式的外邊,這是個較高階別的斷開。

loame1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6; //PREFFER longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6; //AVOID


以下是兩個縮排方法宣告的例子。前者是常規情形。後者若使用常規的縮排方式將會使第二行和第三行移得很靠右,所以代之以縮排8個空格

//CONVENTIONAL INDENTATION someMethod(int anArg, 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) { ... }


if語句的換行通常使用8個空格的規則,因為常規縮排(4個空格)會使語句體看起來比較費勁。比如:

//DON’T USE THIS INDENTATION if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { //BAD WRAPS doSomethingAboutIt(); //MAKE THIS LINE EASY TO MISS } //USE THIS INDENTATION INSTEAD if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { doSomethingAboutIt(); } //OR USE THIS if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { doSomethingAboutIt(); }


這裡有三種可行的方法用於處理三元運算表示式:

alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993229/,如需轉載,請註明出處,否則將追究法律責任。

相關文章