java代碼注釋的位置 java代碼注釋的位置是什么
java工作中良好的代碼注釋習(xí)慣是什么
注釋是為了方便自己或代碼維護(hù)方更容易地讀懂代碼的用處。
一、背景?
1、當(dāng)我們第一次接觸某段代碼,但又被要求在極短的時(shí)間內(nèi)有效地分析這段代碼,我們需要什么樣的注釋信息??
2、怎么樣避免我們的注釋冗長而且凌亂不堪呢??
3、在多人協(xié)同開發(fā)、維護(hù)的今天,我們需要怎么樣的注釋來保證高質(zhì)、高交的進(jìn)行開發(fā)和維護(hù)工作呢??
二、意義?
程序中的注釋是程序設(shè)計(jì)者與程序閱讀者之間通信的重要手段。應(yīng)用注釋規(guī)范對于軟件本身和軟件開發(fā)人員而言尤為重要。并且在流行的敏捷開發(fā)思想中已經(jīng)提出了將注釋轉(zhuǎn)為代碼的概念。好的注釋規(guī)范可以盡可能的減少一個(gè)軟件的維護(hù)成本?,?并且?guī)缀鯖]有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開發(fā)人員來維護(hù)。好的注釋規(guī)范可以改善軟件的可讀性,可以讓開發(fā)人員盡快而徹底地理解新的代碼。好的注釋規(guī)范可以最大限度的提高團(tuán)隊(duì)開發(fā)的合作效率。長期的規(guī)范性編碼還可以讓開發(fā)人員養(yǎng)成良好的編碼習(xí)慣,甚至鍛煉出更加嚴(yán)謹(jǐn)?shù)乃季S能力。?
三、注釋的原則?
1、 注釋形式統(tǒng)一?
在整個(gè)應(yīng)用程序中,使用具有一致的標(biāo)點(diǎn)和結(jié)構(gòu)的樣式來構(gòu)造注釋。如果在其他項(xiàng)目組發(fā)現(xiàn)他們的注釋規(guī)范與這份文檔不同,按照他們的規(guī)范寫代碼,不要試圖在既成的規(guī)范系統(tǒng)中引入新的規(guī)范。?
2、 注釋的簡潔?
內(nèi)容要簡單、明了、含義準(zhǔn)確,防止注釋的多義性,錯(cuò)誤的注釋不但無益反而有害。?
3、 注釋的一致性?
在寫代碼之前或者邊寫代碼邊寫注釋,因?yàn)橐院蠛芸赡軟]有時(shí)間來這樣做。另外,如果有機(jī)會復(fù)查已編寫的代碼,在今天看來很明顯的東西六周以后或許就不明顯了。通常描述性注釋先于代碼創(chuàng)建,解釋性注釋在開發(fā)過程中創(chuàng)建,提示性注釋在代碼完成之后創(chuàng)建。修改代碼的同時(shí)修改相應(yīng)的注釋,以保證代碼與注釋的同步。?
4、 注釋的位置?
保證注釋與其描述的代碼相鄰,即注釋的就近原則。對代碼的注釋應(yīng)放在其上方相鄰或右方的位置,不可放在下方。避免在代碼行的末尾添加注釋;行尾注釋使代碼更難閱讀。不過在批注變量聲明時(shí),行尾注釋是合適的;在這種情況下,將所有行尾注釋要對齊。?
5、 注釋的數(shù)量?
注釋必不可少,但也不應(yīng)過多,在實(shí)際的代碼規(guī)范中,要求注釋占程序代碼的比例達(dá)到20%左右。注釋是對代碼的“提示”,而不是文檔,程序中的注釋不可喧賓奪主,注釋太多了會讓人眼花繚亂,注釋的花樣要少。不要被動的為寫注釋而寫注釋。?
6、刪除無用注釋?
在代碼交付或部署發(fā)布之前,必須刪掉臨時(shí)的或無關(guān)的注釋,以避免在日后的維護(hù)工作中產(chǎn)生混亂。?
7、 復(fù)雜的注釋?
如果需要用注釋來解釋復(fù)雜的代碼,請檢查此代碼以確定是否應(yīng)該重寫它。盡一切可能不注釋難以理解的代碼,而應(yīng)該重寫它。盡管一般不應(yīng)該為了使代碼更簡單便于使用而犧牲性能,但必須保持性能和可維護(hù)性之間的平衡。?
8、 多余的注釋?
描述程序功能和程序各組成部分相互關(guān)系的高級注釋是最有用的,而逐行解釋程序如何工作的低級注釋則不利于讀、寫和修改,是不必要的,也是難以維護(hù)的。避免每行代碼都使用注釋。如果代碼本來就是清楚、一目了然的則不加注釋,避免多余的或不適當(dāng)?shù)淖⑨尦霈F(xiàn)。?
9、必加的注釋?
典型算法必須有注釋。在代碼不明晰或不可移植處必須有注釋。在代碼修改處加上修改標(biāo)識的注釋。在循環(huán)和邏輯分支組成的代碼中添加注釋。為了防止問題反復(fù)出現(xiàn),對錯(cuò)誤修復(fù)和解決方法的代碼使用注釋,尤其是在團(tuán)隊(duì)環(huán)境中。?
10、注釋在編譯代碼時(shí)會被忽略,不編譯到最后的可執(zhí)行文件中,所以注釋不?
會增加可執(zhí)行文件的大小。?
四、JAVA注釋技巧?
1、空行和空白字符也是一種特殊注釋。利用縮進(jìn)和空行,使代碼與注釋容易區(qū)?
別,并協(xié)調(diào)美觀。?
2、當(dāng)代碼比較長,特別是有多重嵌套時(shí),為了使層次清晰,應(yīng)當(dāng)在一些段落的?
結(jié)束處加注釋(在閉合的右花括號后注釋該閉合所對應(yīng)的起點(diǎn)),注釋不能?
寫得很長,只要能表示是哪個(gè)控制語句控制范圍的結(jié)束即可,這樣便于閱讀。?
3、將注釋與注釋分隔符用一個(gè)空格分開,在沒有顏色提示的情況下查看注釋時(shí),?
這樣做會使注釋很明顯且容易被找到。?
4、不允許給塊注釋的周圍加上外框。這樣看起來可能很漂亮,但是難于維護(hù)。?
5、每行注釋(連同代碼)不要超過120個(gè)字(1024×768),最好不要超過80?
字(800×600)?。?
6、Java編輯器(IDE)注釋快捷方式。Ctrl+/?注釋當(dāng)前行,再按則取消注釋。?
7、對于多行代碼的注釋,盡量不采用“/*......*/”,而采用多行“//”注釋,?
這樣雖然麻煩,但是在做屏蔽調(diào)試時(shí)不用查找配對的“/*......*/”。?
8、注釋作為代碼切換開關(guān),用于臨時(shí)測試屏蔽某些代碼。
java 構(gòu)造方法doc注釋位置
跟普通方法一樣,只要在方法前注釋就行了,如這是String的構(gòu)造方法注釋
/**
* Initializes a newly created [email protected] String} object so that it represents
* the same sequence of characters as the argument; in other words, the
* newly created string is a copy of the argument string. Unless an
* explicit copy of [email protected] original} is needed, use of this constructor is
* unnecessary since Strings are immutable.
*
* @param original
* A [email protected] String}
*/
public String(String original) {
int size = original.count;
char[] originalValue = original.value;
char[] v;
if (originalValue.length size) {
// The array representing the String is bigger than the new
// String itself. Perhaps this constructor is being called
// in order to trim the baggage, so make a copy of the array.
int off = original.offset;
v = Arrays.copyOfRange(originalValue, off, off+size);
} else {
// The array representing the String is the same
// size as the String, so no point in making a copy.
v = originalValue;
}
this.offset = 0;
this.count = size;
this.value = v;
}
當(dāng)然你的注釋必須是javadoc注釋,即符號必須是
/**
*
*/
注意第一行必須有兩個(gè)“*”,這就是javadoc注釋和普通塊注釋的區(qū)別
我看了一下你的代碼,沒發(fā)現(xiàn)你有定義構(gòu)造函數(shù)啊,生成的javadoc構(gòu)造函數(shù)當(dāng)然就沒有注釋了
什么是注釋?如何在Java程序中加入注釋?
試想一下,一個(gè)沒有一句注釋的程序源碼,怎么讀,一個(gè)程序要上萬條代碼不可能全部記得住哪一塊是什么用,而且一個(gè)項(xiàng)目也不會是一個(gè)人獨(dú)自完成,那樣效率太低,多人合作就要給別人說明,每一塊是什么用,方便他人使用,方便自己更正,而這些說明文字就是注釋,注釋不會被執(zhí)行,不影響運(yùn)行結(jié)果。
Java中代碼的注釋有三種:
// 注釋一行?
/* ...... */ 注釋若干行?
/** ...... */ 注釋若干行,并寫入 javadoc 文檔
前兩種比較容易理解,至于第三種,你學(xué)習(xí)Java看的api文檔就是javadoc程序根據(jù)第三種的注釋生成的。
擴(kuò)展資料
注釋就是對代碼的解釋和說明,其目的是讓人們能夠更加輕松地了解代碼。注釋是編寫程序時(shí),寫程序的人給一個(gè)語句、程序段、函數(shù)等的解釋或提示,能提高程序代碼的可讀性。
java中的三種注釋在程序中分別用與什么地方
沒具體規(guī)定的
我的用法是如:
//單行
public void showInfo(){
}
/*
*類的說明,作者信息,創(chuàng)建時(shí)間等
*/
上一篇:java重定向和轉(zhuǎn)發(fā)代碼 java 請求轉(zhuǎn)發(fā)和重定向使用場景
欄 目:Java編程
下一篇:沒有了
本文標(biāo)題:java代碼注釋的位置 java代碼注釋的位置是什么
本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/17241.html
您可能感興趣的文章
- 04-04java重定向和轉(zhuǎn)發(fā)代碼 java 請求轉(zhuǎn)發(fā)和重定向使用場景
- 04-04公司網(wǎng)站模板java代碼 javaweb網(wǎng)站模板
- 04-03java過濾標(biāo)點(diǎn)符號代碼 java過濾標(biāo)點(diǎn)符號代碼大全
- 04-03java代碼執(zhí)行 Java代碼執(zhí)行過程
- 04-03java成績分代碼 java成績表
- 04-03住宿服務(wù)系統(tǒng)java代碼 住宿服務(wù)系統(tǒng)java代碼
- 04-03java常見錯(cuò)誤代碼 java常見錯(cuò)誤提示
- 04-03蝸牛爬井java代碼 蝸牛爬井的數(shù)學(xué)公式
- 04-03java留言功能代碼 java留言功能實(shí)現(xiàn)
- 04-03字符串對稱的java代碼 java字符串對齊方式


閱讀排行
本欄相關(guān)
- 04-04java代碼注釋的位置 java代碼注釋的位
- 04-04java重定向和轉(zhuǎn)發(fā)代碼 java 請求轉(zhuǎn)發(fā)和
- 04-04公司網(wǎng)站模板java代碼 javaweb網(wǎng)站模板
- 04-03java過濾標(biāo)點(diǎn)符號代碼 java過濾標(biāo)點(diǎn)符
- 04-03java代碼執(zhí)行 Java代碼執(zhí)行過程
- 04-03java成績分代碼 java成績表
- 04-03住宿服務(wù)系統(tǒng)java代碼 住宿服務(wù)系統(tǒng)
- 04-03java常見錯(cuò)誤代碼 java常見錯(cuò)誤提示
- 04-03蝸牛爬井java代碼 蝸牛爬井的數(shù)學(xué)公式
- 04-03java留言功能代碼 java留言功能實(shí)現(xiàn)
隨機(jī)閱讀
- 01-11Dreamweaver網(wǎng)頁怎么插入客戶端腳本?
- 01-11thinkphp調(diào)用sqlserver儲存過程返回多個(gè)結(jié)
- 01-11帝國CMS下在PHP文件中調(diào)用數(shù)據(jù)庫類執(zhí)
- 01-10Delphi 實(shí)現(xiàn)軟件自動升級的功能
- 01-10c++實(shí)現(xiàn)對輸入數(shù)組進(jìn)行快速排序的示
- 01-10C++ map 根據(jù)value找key的實(shí)現(xiàn)
- 01-10C#不登錄電腦啟動程序
- 01-11dedecms后臺模塊管理空白不顯示的解決
- 01-10詳解C語言中的char數(shù)據(jù)類型及其與in
- 08-05織夢文檔關(guān)鍵詞維護(hù)中設(shè)置詞語重疊