Java語言編碼規範(一) (轉)
如需複製、傳播,請附上本宣告,謝謝。
原文出處: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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java語言編碼規範(2)(轉)Java
- Java語言編碼規範(1)(轉)Java
- Java語言編碼規範Java
- Java語言編碼規範(Java Code Conventions)Java
- Java 編碼規範 (轉)Java
- java編碼規範 (轉)Java
- Uber Go 語言編碼規範Go
- Java語言編碼規範(Java Code Conventions)【引用】blogjavaJava
- java編碼規範(2) (轉)Java
- Java語言規範Java
- 嵌入式c語言編碼規範C語言
- Java 程式編碼的規範(轉)Java
- 阿里Java編碼規範阿里Java
- [轉]PHP編碼規範PHP
- [轉]高質量JAVA程式碼編寫規範Java
- Google的Java編碼規範GoJava
- C語言程式書寫規範 (轉)C語言
- c#編碼規範【轉載】C#
- Java原始碼的折行規則(編碼規範)Java原始碼
- 編碼規範系列:css規範CSS
- C# 語言規範C#
- Python語言規範及風格規範Python
- 編碼規範 - 養成良好的Java編碼習慣Java
- 程式碼書寫規範(Java) (轉)Java
- 程式碼規範之前端編寫碼規範前端
- java編譯、編碼、語言設定Java編譯
- CSS編碼規範CSS
- Javascript編碼規範JavaScript
- html編碼規範HTML
- Swift 編碼規範Swift
- PHP編碼規範PHP
- SQL 編碼規範SQL
- Go 語言程式碼風格規範-指南篇Go
- Go 語言程式碼風格規範-概述篇Go
- 關於Java編碼規範的問題Java
- WEB前端編碼規範Web前端
- python編碼規範Python
- 前端安全編碼規範前端