2012-10-01 30 views
17

我已經(最後)讀了PEAR(php)編碼標準。php評論中額外星號的用途是什麼?

什麼是評論這樣的目的:

/** 
* Here is my comment 
* I Wrote this in a haiku 
* But why put the stars? 
*/ 

與此相反:

/* 
    Here is a comment 
    No haiku or 
    anything special, but it still works! 
*/ 
+9

我不明白關閉的選票。這是一個合法的問題。有這樣評論的真正原因。 – bstpierre

回答

13

/** stuff */文件也被稱爲DocBlock符號。

它用來記錄PHP函數,類等

/** 
* A test function 
* 
* @param foo $bar 
* @return baz 
*/ 
function test(foo $bar) { return new baz; } 

一些編輯好好利用這個來執行自己的代碼洞察功能,非常強大的工具,減少了時間,你不得不花費在看你的舊函數聲明。 Aptana和Zend Studio有這個功能,也可能是其他功能。

您也可以組合使用它與Reflection做某種AOP的,做你上面的聲明的文檔塊的運行時檢查。實際上,Doctrine使用它來爲其「Active Record」實現構建object attribute map

2

可讀性。

它明確強調了註釋部分人閱讀的代碼。

+0

這就是我的想法......所以這是嚴格的可讀性?沒有其他好處? –

+1

如果您使用的編輯器不執行上下文突出顯示,它有助於澄清/識別更長的註釋塊 – Dave

+2

這不完全正確。技術上來說,使用dobule星號是一種形式。但是像phpdoc這樣的文檔系統依賴於它。 – dcbarans

2

我認爲它主要是爲了外觀/可讀性。想象一下,你有一個很長的評論部分,超出了一個屏幕。然後看到這些星號可以讓你知道它是評論的一部分,即使你看不到開始和結束。

3

我同意ajon和昆汀。主要是可讀性。但是,還有一件事。

有自動文檔發生器(就像doxygen)。

他們需要一些特別的註釋格式,包括這些意見的文件。我相信這種評論方式正是用於此目的(請參閱以下doxygen文檔頁面 - http://www.stack.nl/~dimitri/doxygen/docblocks.html

+0

是的,我在尋找doxygen的時候找到了這個,所以我認爲那裏有*更多一點 –

1

如果您使用編輯PHP它強調以不同的顏色代碼顯示的是一個動詞優秀的免費文本編輯器jEdit的,什麼是變量等

如果您註釋掉塊以/ * ... * /塊內的所有內容變爲橙色,這使得難以閱讀代碼。

如果改爲使用/ ** ... * /那麼它改變了塊一切一組不同的顏色仍然突出代碼的不同部分,這意味着代碼保持可讀性很強其註釋掉。

PS。如果你使用記事本或類似的編輯你的PHP代碼,那麼我強烈建議你得到jEdit。它會爲你節省大量的時間和沮喪。像自動指示{},()等的開始和結束等。