日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java编码规范,在您进行编码之前应该阅读的规范

發布時間:2023/12/9 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java编码规范,在您进行编码之前应该阅读的规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

本文轉載于:http://www.web3d.com.cn/new/teach/java3d/2006/11/13/363276161.html

?

Java編碼規范 說明 1.1 為什么要有編碼規范 編碼規范對于程序員而言尤為重要,有以下幾個原因: 一個軟件的生命周期中,80%的花費在于維護。 幾乎沒有任何一個軟件,在其整個生命周期中,均由最初的開發人員來維護。 編碼規范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼。


如果你將源碼作為產品發布,就需要確任它是否被很好的打包并且清晰無誤,一如你已構建的其它任何產品。 為了執行規范,每個軟件開發人員必須一致遵守編碼規范。每個人!!! 1.2版權聲明 本文檔反映的是Sun MicroSystems公司,Java語言規范中的編碼標準部分。主要貢獻者包括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath以及Scott Hommel。本文檔現由Scott Hommel維護,有關評論意見請發至shommel@eng.sun.com 2. 文件名(File Names) 這部分列出了常用的文件名及其后綴。 2.1 文件后綴(File Suffixes) Java程序使用下列文件后綴:

文件類別 文件后綴 Java源文件 .java
Java字節碼文件 .class
2.2 常用文件名(Common File Names)
常用的文件名包括:

文件名 用途

GNUmakefile makefiles的首選文件名。我們采用gnumake來創建(build)軟件。 README 概述特定目錄下所含內容的文件的首選文件名 3. 文件組織(File Organization) 一個文件由被空行分割而成的段落以及標識每個段落的可選注釋共同組成。超過2000行的程序難以閱讀,應該盡量避免。“Java源文件范例”提供了一個布局合理的Java程序范例。 3.1 Java源文件(Java Source Files) 每個Java源文件都包含一個單一的公共類或接口。若私有類和接口與一個公共類相關聯,可以將它們和公共類放入同一個源文件。公共類必須是這個文件中的第一個類或接口。 Java源文件還遵循以下規則: 開頭注釋(參見"開頭注釋")
包和引入語句(參見"包和引入語句")
類和接口聲明(參見"類和接口聲明") 3.1.1 開頭注釋(Beginning Comments) 所有的源文件都應該在開頭有一個C語言風格的注釋,其中列出類名、版本信息、日期和版權聲明: /*
* Classname
*
* Version information
*
* Date
*
* Copyright notice
*/ 3.1.2 包和引入語句(Package and Import Statements)
在多數Java源文件中,第一個非注釋行是包語句。在它之后可以跟引入語句。 例如:
package java.awt;
import java.awt.peer.CanvasPeer; 3.1.3 類和接口聲明(Class and Interface Declarations) 下表描述了類和接口聲明的各個部分以及它們出現的先后次序。參見“Java源文件范例”中一個包含注釋的例子。

類/接口聲明的各部分 注解 1、 類/接口文檔注釋(/**……*/) 該注釋中所需包含的信息,參見"文檔注釋"

2、 類或接口的聲明

3、 類/接口實現的注釋(/*……*/)如果有必要的話 該注釋應包含任何有關整個類或接口的信息,而這些信息又不適合作為類/接口文檔注釋。

4、 類的(靜態)變量 首先是類的公共變量,隨后是保護變量,再后是包一級別的變量(沒有訪問修飾符,access modifier),最后是私有變量。

5、 實例變量 首先是公共級別的,隨后是保護級別的,再后是包一級別的(沒有訪問修飾符),最后是私有級別的。

6、 構造器 7、 方法 這些方法應該按功能,而非作用域或訪問權限,分組。例如,一個私有的類方法可以置于兩個公有的實例方法之間。其目的是為了更便于閱讀和理解代碼。

4. 縮進排版(Indentation) 4個空格常被作為縮進排版的一個單位。縮進的確切解釋并未詳細指定(空格 vs. 制表符)。一個制表符等于8個空格(而非4個)。 4.1 行長度(Line Length) 盡量避免一行的長度超過80個字符,因為很多終端和工具不能很好處理之。 注意:用于文檔中的例子應該使用更短的行長,長度一般不超過70個字符。 4.2 換行(Wrapping Lines) 當一個表達式無法容納在一行內時,可以依據如下一般規則斷開之: 在一個逗號后面斷開。 在一個操作符前面斷開。 寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開。 新的一行應該與上一行同一級別表達式的開頭處對齊。 如果以上規則導致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進8個空格。 以下是斷開方法調用的一些例子: someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
var = someMethod1(longExpression1,
someMethod2(longExpression2,
longExpression3)); 以下是兩個斷開算術表達式的例子。前者更好,因為斷開處位于括號表達式的外邊,這是個較高級別的斷開。 longName1 = longName2 * (longName3 + longName4 - longName5)
+ 4 * longname6; //PREFFER
longName1 = longName2 * (longName3 + longName4
- longName5) + 4 * longname6; //AVOID 以下是兩個縮進方法聲明的例子。前者是常規情形。后者若使用常規的縮進方式將會使第二行和第三行移得很靠右,所以代之以縮進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) {
...
}

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; 5. 注釋(Comments) Java程序有兩類注釋:實現注釋(implementation comments)和文檔注釋(document comments)。實現注釋是那些在C++中見過的,使用/*...*/和//界定的注釋。文檔注釋(被稱為“doc comments”)是Java獨有的,并由/**...*/界定。文檔注釋可以通過javadoc工具轉換成HTML文件。 實現注釋用以注釋代碼或者實現細節。文檔注釋從實現自由(implementation-free)的角度描述代碼的規范。它可以被那些手頭沒有源碼的開發人員讀懂。 注釋應被用來給出代碼的總括,并提供代碼自身沒有提供的附加信息。注釋應該僅包含與閱讀和理解程序有關的信息。例如,相應的包如何被建立或位于哪個目錄下之類的信息不應包括在注釋中。 在注釋里,對設計決策中重要的或者不是顯而易見的地方進行說明是可以的,但應避免提供代碼中己清晰表達出來的重復信息。多余的的注釋很容易過時。通常應避免那些代碼更新就可能過時的注釋。
注意:頻繁的注釋有時反映出代碼的低質量。當你覺得被迫要加注釋的時候,考慮一下重寫代碼使其更清晰。 注釋不應寫在用星號或其他字符畫出來的大框里。注釋不應包括諸如制表符和回退符之類的特殊字符。 5.1 實現注釋的格式(Implementation Comment Formats) 程序可以有4種實現注釋的風格:塊(block)、單行(single-line)、尾端(trailing)和行末(end-of-line)。 5.1.1 塊注釋(Block Comments) 塊注釋通常用于提供對文件,方法,數據結構和算法的描述。塊注釋被置于每個文件的開始處以及每個方法之前。它們也可以被用于其他地方,比如方法內部。在功能和方法內部的塊注釋應該和它們所描述的代碼具有一樣的縮進格式。 塊注釋之首應該有一個空行,用于把塊注釋和代碼分割開來,比如: /*
* Here is a block comment.
*/ 塊注釋可以以/*-開頭,這樣indent(1)就可以將之識別為一個代碼塊的開始,而不會重排它。 /*-
* Here is a block comment with some very special
* formatting that I want indent(1) to ignore.
*
* one
* two
* three
*/

注意:如果你不使用indent(1),就不必在代碼中使用/*-,或為他人可能對你的代碼運行indent(1)作讓步。

轉載于:https://my.oschina.net/CYZ/blog/32313

總結

以上是生活随笔為你收集整理的Java编码规范,在您进行编码之前应该阅读的规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。