1. 程式人生 > >JAVA開發之 12-JAVA中的註釋規範

JAVA開發之 12-JAVA中的註釋規範

JAVA註釋方法及格式
1、單行(single-line)–短註釋://……
單獨行註釋:在程式碼中單起一行註釋, 註釋前最好有一行空行,並與其後的程式碼具有一樣的縮排層級。如果單行無法完成,則應採用塊註釋。
註釋格式:/* 註釋內容 */
行頭註釋:在程式碼行的開頭進行註釋。主要為了使該行程式碼失去意義。
註釋格式:// 註釋內容

行尾註釋:尾端(trailing)–極短的註釋,在程式碼行的行尾進行註釋。一般與程式碼行後空8(至少4)個格,所有註釋必須對齊。
註釋格式:程式碼 + 8(至少4)個空格 + // 註釋內容
2、塊(block)–塊註釋:/……/
註釋若干行,通常用於提供檔案、方法、資料結構等的意義與用途的說明,或者演算法的描述。一般位於一個檔案或者一個方法的前面,起到引導的作用,也可以根據需要放在合適的位置。這種域註釋不會出現在HTML報告中。註釋格式通常寫成:
/*
* 註釋內容
*/
3、文件註釋:/

……/*
註釋若干行,並寫入javadoc文件。每個文件註釋都會被置於註釋定界符
/*……/之中,註釋文件將用來生成HTML格式的程式碼報告,所以註釋文
檔必須書寫在類、域、建構函式、方法,以及欄位(field)定義之前。註釋文件由兩部分組成——描述、塊標記。註釋文件的格式如下:
/**
* The doGet method of the servlet.
* This method is called when a form has its tag value method
* equals to get.
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
前兩行為描述,描述完畢後,由@符號起頭為塊標記註釋。更多有關文件注
釋和javadoc的詳細資料,參見javadoc的主頁:
http://java.sun.com/javadoc/index.html

4、javadoc註釋標籤語法
@author 對類的說明 標明開發該類模組的作者
@version 對類的說明 標明該類模組的版本
@see 對類、屬性、方法的說明 參考轉向,也就是相關主題
@param 對方法的說明 對方法中某引數的說明
@return 對方法的說明 對方法返回值的說明
@exception 對方法的說明 對方法可能丟擲的異常進行說明
*JAVA註釋具體實現*
1、原始檔註釋
原始檔註釋採用 /* …… /,在每個原始檔的頭部要有必要的註釋資訊,包括:檔名;檔案編號;版本號;作者;建立時間;檔案描述包括本檔案歷史修改記錄等。中文註釋模版:
/**
* 文 件 名 :
* CopyRright (c) 2008-xxxx:
* 檔案編號:
* 創 建 人:
* 日 期:
* 修 改 人:
* 日 期:
* 描 述:
* 版 本 號:
*/
2、類(模組)註釋:

類(模組)註釋採用 /** ……
*/,在每個類(模組)的頭部要有必要的註釋資訊,包括:工程名;類(模組)編號;名稱空間;類可以執行的JDK版本;版本號;作者;建立時間;類(模
塊)功能描述(如功能、主要演算法、內部各部分之間的關係、該類與其類的關係等,必要時還要有一些如特別的軟硬體要求等說明);主要函式或過程清單及本類
(模組)歷史修改記錄等。
英文註釋模版:
/**
* CopyRright (c)2008-xxxx:
* Project:
* Module ID:
* Comments:
* JDK version used:
* Namespace:
* Author:
* Create Date:
* Modified By:
* Modified Date:
* Why & What is modified
* Version:
*/
如果模組只進行部分少量程式碼的修改時,則每次修改須新增以下注釋:
//Rewriter
//Rewrite Date: Start1:
/* 原始碼內容*/
//End1:
將原始碼內容註釋掉,然後新增新程式碼使用以下注釋:
//Added by
//Add date: Start2:
//End2:
如果模組輸入輸出引數或功能結構有較大修改,則每次修改必須新增以下
註釋:
//Log ID:
//Depiction:
//Writer:修改者中文名
//Rewrite Date:
3、介面註釋:
介面註釋採用 /* …… /,在滿足類註釋的基礎之上,介面註釋應該包含描述介面的目的、它應如何被使用以及如何不被使用,塊標記部分必須註明作者和版本。在介面註釋清楚的前提下對應的實現類可以不加註釋。
4、建構函式註釋:
建構函式註釋採用 /* …… /,描述部分註明建構函式的作用,不一定有塊標記部分。
註釋模版一:
/**
* 預設建構函式
*/
註釋模版二:
/**
* Description : 帶引數建構函式,
* 初始化模式名,名稱和資料來源型別
* @param schema: 模式名
* @param name: 名稱
* @param type: 資料來源型別
*/
5、函式註釋:
函式註釋採用 /* ……/,在每個函式或者過程的前面要有必要的註釋資訊,包括:函式或過程名稱;功能描述;輸入、輸出及返回值說明;呼叫關係及被呼叫關係說明等。函式註釋裡面可以不出現版本號(@version)。
註釋模版一:
/**
* 函 數 名 :
* 功能描述:
* 輸入引數:
*
*
* 返 回 值: - 型別
*
* 異 常:
* 創 建 人:
* 日 期:
* 修 改 人:
* 日 期:
*/
註釋模版二:
/**
* FunName: getFirstSpell
* Description : 獲取漢字拼音首字母的字串,
* 被生成百家姓函式呼叫
* @param: str the String是包含漢字的字串
* @return String:漢字返回拼音首字母字串;
* 英文字母返回對應的大寫字母;
* 其他非簡體漢字返回 ‘0’;
* @Author: ghc
* @Create Date: 2008-07-02
*/
6、方法註釋:
方法註釋採用 /* …… /,對於設定 (Set 方法 ) 與獲取 (Get 方法 )
成員的方法,在成員變數已有說明的情況下,可以不加註釋;普通成員方法要求說明完成什麼功能,引數含義是什麼且返回值什麼;另外方法的建立時間必須註釋清
楚,為將來的維護和閱讀提供寶貴線索。
7、方法內部註釋:
控制結構,程式碼做了些什麼以及為什麼這樣做,處理順序等,特別是複雜的邏輯處理部分,要儘可能的給出詳細的註釋。

8、全域性變數註釋:
要有較詳細的註釋,包括對其功能、取值範圍、哪些函式或者過程存取以及存取時注意事項等的說明。
9、區域性(中間)變數註釋:
主要變數必須有註釋,無特別意義的情況下可以不加註釋。
10、實參/引數註釋:
引數含義、及其它任何約束或前提條件。
11、欄位/屬性註釋:
欄位描述,屬性說明。
12、常量:
常量通常具有一定的實際意義,要定義相應說明。