給php代碼添加規範的註釋

更多參考 http://phpdoc.org/docs/latest/index.html
在phpdocumentor中,註釋分爲文檔性註釋和非文檔性註釋。
所謂文檔性註釋,是那些放在特定關鍵字前面的多行註釋,特定關鍵字是指能夠被phpdoc分析的關鍵字,例如class,var等,具體的可參加附錄1.
那些沒有在關鍵字前面或者不規範的註釋就稱作非文檔性註釋,這些註釋將不會被phpdoc所分析,也不會出現在你產生的api文當中。
3.2如何書寫文檔性註釋:
所 有的文檔性註釋都是由/**開始的一個多行註釋,在phpDocumentor裏稱爲DocBlock, DocBlock是指軟件開發人員編寫的關於某個關鍵字的幫助信息,使得其他人能夠通過它知道這個關鍵字的具體用途,如何使用。 PhpDocumentor規定一個DocBlock包含如下信息:
1. 功能簡述區
2. 詳細說明區
3. 標記tag
文檔性註釋的第一行是功能描述區,正文一般是簡明扼要地說明這個類,方法或者函數的功能,功能簡述的正文在生成的文檔中將顯示在索引區。功能描述區的內容可以通過一個空行或者 . 來結束
在 功能描述區後是一個空行,接着是詳細說明區,. 這部分主要是詳細說明你的API的功能,用途,如果可能,也可以有用法舉例等等。在這部分,你應該着重闡明你的API函數或者方法的通常的用途,用法,並 且指明是否是跨平臺的(如果涉及到),對於和平臺相關的信息,你要和那些通用的信息區別對待,通常的做法是另起一行,然後寫出在某個特定平臺上的注意事項 或者是特別的信息,這些信息應該足夠,以便你的讀者能夠編寫相應的測試信息,比如邊界條件,參數範圍,斷點等等。
之後同樣是一個空白行,然後是文檔的標記tag,指明一些技術上的信息,主要是最主要的是調用參數類型,返回值極其類型,繼承關係,相關方法/函數等等。

文檔註釋中還可以使用例如<b> <code>這樣的標籤

5.文檔標記:
文檔標記的使用範圍是指該標記可以用來修飾的關鍵字,或其他文檔標記。
所有的文檔標記都是在每一行的 * 後面以@開頭。如果在一段話的中間出來@的標記,這個標記將會被當做普通內容而被忽略掉。

6.一些註釋規範
a.註釋必須是
/**
* XXXXXXX
*/
的形式
b.對於引用了全局變量的函數,必須使用glboal標記。
c.對於變量,必須用var標記其類型(int,string,bool...)
d.函數必須通過param和return標記指明其參數和返回值
e.對於出現兩次或兩次以上的關鍵字,要通過ingore忽略掉多餘的,只保留一個即可
f.調用了其他函數或類的地方,要使用link或其他標記鏈接到相應的部分,便於文檔的閱讀。
g.必要的地方使用非文檔性註釋,提高代碼易讀性。
h.描述性內容儘量簡明扼要,儘可能使用短語而非句子。

i.全局變量,靜態變量和常量必須用相應標記說明

<?php
/**
* @name 名字
* @abstract 申明變量/類/方法
* @access 指明這個變量、類、函數/方法的存取權限
* @author 函數作者的名字和郵箱地址
* @category  組織packages
* @copyright 指明版權信息
* @const 指明常量
* @deprecate 指明不推薦或者是廢棄的信息MyEclipse編碼設置
* @example 示例
* @exclude 指明當前的註釋將不進行分析,不出現在文擋中
* @final 指明這是一個最終的類、方法、屬性,禁止派生、修改。
* @global 指明在此函數中引用的全局變量
* @include 指明包含的文件的信息
* @link 定義在線連接
* @module 定義歸屬的模塊信息
* @modulegroup 定義歸屬的模塊組
* @package 定義歸屬的包的信息
* @param 定義函數或者方法的參數信息
* @return 定義函數或者方法的返回信息
* @see 定義需要參考的函數、變量,並加入相應的超級連接。
* @since 指明該api函數或者方法是從哪個版本開始引入的
* @static 指明變量、類、函數是靜態的。
* @throws 指明此函數可能拋出的錯誤異常,極其發生的情況
* @todo 指明應該改進或沒有實現的地方
* @var 定義說明變量/屬性。
* @version 定義版本信息
*/
function XXX($a){..}

<?php
/**
* Sample File 2, phpDocumentor Quickstart
*
* This file demonstrates the rich information that can be included in
* in-code documentation through DocBlocks and tags.
* @author Greg Beaver <[email protected]>
* @version 1.0
* @package sample
*/
  
//PHP code
  
/**
* A sample function docblock
* @global string document the fact that this function uses $_myvar
* @staticvar integer $staticvar this is actually what is returned
* @param string $param1 name to declare
* @param string $param2 value of the name
* @return integer
*/
function firstFunc($param1, $param2 = 'optional') {
    static $staticvar = 7;
    global $_myvar;
    return $staticvar;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章