最近在做java項目開始關注和注意一些java規范,目的只是為了讓自己和別人更容易理解自己寫的代碼和復用。
一個重要的原則就是:問你自己,你如果從來沒有見過這段代碼,你要快速地知道這段代碼是干什么的,你需要一些什么信息?
單行注釋和塊注釋(多行)這些書本和學習的時候都會知道就不在這寫了,主要寫一個文檔注釋,其實這個可以參考java的API文檔,java的API文檔也是按一定規范寫的注釋!
javadoc注釋標簽語法 (不太熟時,其實可以使用格式化代碼功能,讓IDE自動幫助排版,Eclipse類軟件的快捷鍵是: Ctrl+Shift+F)
@author 對類的說明標明開發該類模塊的作者 @version 對類的說明標明該類模塊的版本 @see 對類、屬性、方法的說明 參考轉向,也就是相關主題 @param 對方法的說明對方法中某參數的說明 @return 對方法的說明對方法返回值的說明 @exception 對方法的說明對方法可能拋出的異常進行說明
在myEclipse中設置默認生成的注釋:
1. 源文件注釋
源文件注釋采用 /** …… */,在每個源文件的頭部要有必要的注釋信息,包括:文件名;文件編號;版本號;作者;創建時間;文件描述包括本文件歷史修改記錄等。
中文注釋模版:
/** * 文件名 : * CopyRright (c) 2016-xxxx: * 文件編號: * 創建人: * 日期: * 修改人: * 日期: * 描述: * 版本號: */
2. 類(模塊)注釋:
類(模塊)注釋采用 /** …… */,在每個類的頭部要有必要的注釋信息,包括:工程名;類編號;命名空間;類可以運行的JDK版本;版本號;作者;創建時間;類功能描述(如功能、主要算法、內部各部分之間的關系、該類與其類的關系等,必要時還要有一些如特別的軟硬件要求等說明);主要函數或過程清單及本類歷史修改記錄等。
英文注釋模版:
/** * CopyRright (c)2016-xxxx: <展望軟件Forsoft > * Project: <項目工程名 > * Module ID: <(模塊)類編號,可以引用系統設計中的類編號> * Comments: <對此類的描述,可以引用系統設計中的描述> * JDK version used: <JDK1.6> * Namespace: <命名空間> * Author: <作者中文名或拼音縮寫> * Create Date: <創建日期,格式:YYYY-MM-DD> * Modified By: <修改人中文名或拼音縮寫> * Modified Date: <修改日期,格式:YYYY-MM-DD> * Why & What is modified <修改原因描述> * Version: <版本號> */
3. 接口注釋:
接口注釋采用 /** …… */,在滿足類注釋的基礎之上,接口注釋應該包含描述接口的目的、它應如何被使用以及如何不被使用,塊標記部分必須注明作者和版本。在接口注釋清楚的前提下對應的實現類可以不加注釋。
4. 構造函數注釋:
構造函數注釋采用 /** …… */,描述部分注明構造函數的作用,不一定有塊標記部分。
注釋模版一:
/** * 默認構造函數 */
注釋模版二:
/** * Description : 帶參數構造函數, * 初始化模式名,名稱和數據源類型 * @param schema: 模式名 * @param name: 名稱 * @param type: 數據源類型 */
5. 函數注釋:
函數注釋采用 /** ……*/,在每個函數或者過程的前面要有必要的注釋信息,包括:函數或過程名稱;功能描述;輸入、輸出及返回值說明;調用關系及被調用關系說明等。函數注釋里面可以不出現版本號(@version)。
注釋模版一:
/** * 函 數 名 : * 功能描述: * 輸入參數: <按照參數定義順序> * <@param后面空格后跟着參數的變量名字 * (不是類型),空格后跟着對該參數的描述。> * 返 回 值: - 類型 <說明> * <返回為空(void)的構造函數或者函數, * @return 可以省略; 如果返回值就是輸入參數,必須用與輸入參數的 * @param 相同的描述信息; 必要的時候注明特殊條件寫的返回值。 * 異常:<按照異常名字的字母順序> * 創建人: * 日期: * 修改人: * 日期: */
注釋模版二:
/** * FunName: getFirstSpell * Description : 獲取漢字拼音首字母的字符串, * @param: str the String是包含漢字的字符串 * @return String:漢字返回拼音首字母字符串; * @Author: Sky * @Create Date: 2016-07-21 */
6. 方法注釋:
方法注釋采用 /** …… */,對於設置 (Set 方法 ) 與獲取 (Get 方法 ) 成員的方法,在成員變量已有說明的情況下,可以不加注釋;普通成員方法要求說明完成什么功能,參數含義是什么且返回值什么;另外方法的創建時間必須注釋清楚,為將來的維護和閱讀提供寶貴線索。
方法內部注釋: 控制結構,代碼做了些什么以及為什么這樣做,處理順序等,特別是復雜的邏輯處理部分,要盡可能的給出詳細的注釋。
7. 其他注釋
全局變量注釋:
要有較詳細的注釋,包括對其功能、取值范圍、哪些函數或者過程存取以及存取時注意事項等的說明。
局部(中間)變量注釋:
主要變量必須有注釋,無特別意義的情況下可以不加注釋。
實參/參數注釋:
參數含義、及其它任何約束或前提條件。
字段/屬性注釋:
字段描述,屬性說明。
常量:
常量通常具有一定的實際意義,要定義相應說明。