規范需要平時編碼過程中注意,是一個慢慢養成的好習慣
1.基本規則
1.注釋應該使代碼更加清晰易懂
2.注釋要簡單明了,只要提供能夠明確理解程序所必要的信息就可以了。如果注釋太復雜說明程序需要修改調整,使設計更加合理。
3.注釋不僅描述程序做了什麼, 還要描述為什麼要這樣做,以及約束
4.對於一般的getter、setter方法不用注釋
5.注釋不能嵌套
6.生成開發文檔的需要用中文編寫
2.三種注釋方式說明
1.文檔注釋 /** */
可以對用多行,一般用來對類、接口、成員方法、成員變量、靜態字段、靜態方法、常量進行說明。Javadoc可以用它來產生代碼的文檔。為了可讀性,可以有縮進和格式控制。
文檔注釋常采用一些標簽進行文檔的特定用途描述,用於幫助Javadoc產生文檔,常用的有:
標簽
Used for
目的
@author name
類/接口
描述代碼的作者,每個作者對應一個這樣的標簽
@deprecated
類
成員方法
說明該段API已經被廢除
@exception name description
或
@throws name description
成員方法
描述方法拋出的異常
每個異常一個對應一個這樣的標簽
@param name description
成員方法
描述成員方法中的參數用途和意義,一個參數對應一個這樣的標簽
@return description
成員方法
描述成員方法的返回值的意義
@since
類/接口
成員方法
描述該段API開始的時間
@see ClassName
類/接口
成員方法
成員變量
用於引用特定的類描述,一般ClassName用包括包名的全名
@see ClassName#memberfunction
類/接口
成員方法
成員變量
用於引用特定的類的成員方法的描述,一般ClassName用包括包名的全名
@version text
類/接口
版本
@inheritDoc
類/接口
成員方法
繼承的文檔
2.行注釋 //
一次只能注釋一行,一般用來簡短的描述某一個局部變量,程序塊的作用
3.塊注釋: /* */
在代碼中禁止使用
4.類/接口注釋
類/接口描述,一般比較詳細。按照常用的說明順序排列,主要包括
1.類的主要說明,以。或.結束
2.類設計的目標,完成什麼樣的功能
3.<Strong>主要的類使用</Strong>如何使用該類, 包括環境要求,如是否線程安全,並發性要求, 以及使用約束
4.<Strong>已知的BUG</Strong>
5.描述類的修改歷史:<Strong>修改人+日期+簡單說明</Strong>
6.@author作者、@version版本, @see參照,@since開始版本等信息如:
/** * This class provides default implementations for the JFC <code>Action</code> * interface. Standard behaviors like the get and set methods for * <code>Action</code> object properties (icon, text, and enabled) are defined * here. The developer need only subclass this abstract class and * define the <code>actionPerformed</code> method. * <p> * <strong>Warning:</strong> * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is appropriate * for short term storage or RMI between applications running the same * version of Swing. A future release of Swing will provide support for * long term persistence. * * @version 1.41 2015/05/26 * @author xxxxx * @see Action */
為了使形成的文檔可讀性好,注釋中經常帶有縮進和格式控制。類描述放在類的類定義的緊前面,不能有任何的空行。
3.變量注釋
1.成員變量、類靜態變量采用文檔注釋,對成員變量的注釋通常包括:
1)變量的意義
2)變量的合法值域
3)對並發訪問的限制
如:
/** * Web.xml文件中configServlet參數的UIAPP.xml initparam */ public final static String APP_CONFIG = "aaa.uiapp";
2.局部變量,如算法相關的變量采用塊或行注釋
public void func() { int i; //用於循環計數 ………… }
3.參數變量注釋一般用文檔注釋,並且用@param來說明為參數,一般包括
1) 參數的用途
2) 對參數值范圍的要求
4.方法注釋
描述函數的功能,對成員方法,靜態方法一般采用文檔描述,特別是公開的方法。注釋可以很詳細,為了可讀性強也可包含格式控制,如下面說明含有縮進:
/** * Here is a method comment with some very special * formatting that I want indent(1) to ignore.* */
方法注釋一般包括:
1.方法的主要說明,以。或.結束
2.描述方法完成什麼樣的功能,方法的目標,用該方法的原因
3.描述方法的使用方法,包括使用的環境要求,如前置條件,後置條件和並發性要求
4.描述已知的bug
5.描述方法的修改歷史:<Strong>修改人+日期+簡單說明</Strong> (<修改人+日期+簡單說明>)
6.@param c elements to be inserted into this list.(參數說明)
7.@return <tt>true</tt> if this list changed as a result of the call.(返回值說明)
8.@throws NullPointerException if the specified Collection is null.(異常說明)
9.@see如果重載方法必須參考父類的方法
10Eclips下采用Alt+Shift+J生成Javadoc說明方法的放回值((@return)
5.修改記錄
1.在修改一個類前,必須先從SVN中update,之後再進行修改;
2.修改的地方必須加入注釋,說明修改人,修改原因,修改內容,修改時間;
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-05/118091p2.htm