前言:如果你有更好的私藏文章横朋,不凡分享出來,獨樂樂不如眾樂樂(⊙o⊙)
一晰甚、為什么要規(guī)范注釋:
代碼注釋是架起程序設計者與程序閱讀者之間交互的橋梁决帖,最大限度的提高團隊開發(fā)合作效率,是程序代碼可維護性的重要環(huán)節(jié)之一止剖,所以我們不是為寫注釋而寫注釋落君。
二亭引、遵循原則:
1、注釋形式統(tǒng)一
在整個應用程序中焙蚓,使用具有一致的結構的樣式來構造注釋购公。如果在其它項目中發(fā)現(xiàn)它們的注釋規(guī)范與這份文檔不同,按照這份規(guī)范寫代碼宏浩,不要試圖在既成的規(guī)范系統(tǒng)中引入新的規(guī)范。
2求妹、注釋內(nèi)容精確簡潔
內(nèi)容要簡單、明了父能、含義準確净神,防止注釋的多義性,錯誤的注釋不但無益反而有害鹃唯。
3、在寫代碼之前或同時寫注釋
不要試圖在代碼重構或閱讀不通時才想起加注釋呆细,有的代碼可能只有你和上帝才看得懂八匠,再次回顧時可能只有上帝才看得懂你的代碼。
三坑夯、注釋條件:
1抡四、基本注釋(必須加)
(a)? ? 類(接口)的注釋
(b)? ? 構造函數(shù)的注釋
(c)? ? 方法的注釋
(d)? ? 全局變量的注釋
(e)? ? 字段/屬性的注釋
備注:簡單的代碼做簡單注釋,注釋內(nèi)容不大于10個字即可淑履,另外藻雪,持久化對象或VO對象的getter、setter方法不需加注釋指煎。具體的注釋格式請參考下面舉例便斥。
2、特殊必加注釋(必須加)
(a)? ? 典型算法必須有注釋枢纠。
(b)? ? 在代碼不明晰處必須有注釋。
(c)? ? 在代碼修改處加上修改標識的注釋。
(d)? ? 在循環(huán)和邏輯分支組成的代碼中加注釋宅广。
(e)? ? 為他人提供的接口必須加詳細注釋葫掉。
備注:此類注釋格式暫無舉例。具體的注釋格式自行定義跟狱,要求注釋內(nèi)容準確簡潔俭厚。
四、注釋格式:
1驶臊、單行(single-line)注釋:“//……”
2挪挤、塊(block)注釋:“/*……*/”
3、文檔注釋:“/**……*/”
4关翎、javadoc 注釋標簽語法
? ? ? ? ?@author? 對類的說明 標明開發(fā)該類模塊的作者
? ? ? ? ?@version? 對類的說明 標明該類模塊的版本
? ? ? ? ?@see? ? 對類扛门、屬性、方法的說明 參考轉向纵寝,也就是相關主題
? ? ? ? ?@param? ? 對方法的說明 對方法中某參數(shù)的說明
? ? ? ? ?@return? 對方法的說明 對方法返回值的說明
? ? ? ? ?@exception? 對方法的說明 對方法可能拋出的異常進行說明
五、參考舉例:
1.? 類(接口)注釋
例如:
/**
* 類的描述
* @author Administrator
* @Time 2012-11-2014:49:01
*/
public classTest extends Button {
……
}
2.? 構造方法注釋
例如:
public class Test extends Button {
/**
* 構造方法 的描述
* @param name? 按鈕的上顯示的文字
*/
? ? ?public Test(String name){
? ? ? ? ? ?……
? ? ? }
}
3.? 方法注釋
例如
public class Test extends Button {
/**
* 為按鈕添加顏色
*@param color 按鈕的顏色
*@return
*@exception? (方法有異常的話加)
* @author Administrator
* @Time2012-11-20 15:02:29
*/
public void ?addColor(String color){
……
}
}
4.? 全局變量注釋
例如:
implements Java.io.Serializable, Comparable,CharSequence{
/** The offset is the first index of thestorage that is used. */
private final int offset;
/** The count is the number of charactersin the String. */
private final int count;
……
}
5.? 字段/屬性注釋
例如:
public class EmailBody implements Serializable{
private String senderName;//發(fā)送人姓名
private String title;//不能超過120個中文字符
……
}