2012-11-14 76 views
2

最近我開始使用///來評論我的C#代碼,而不是///*,因爲它使用起來更簡單。今天,我開始想知道爲什麼有不同的類型,並遇到this SO question其中指出///註釋是用於生成XML文檔。C#// vs ///評論

對於Google上的評論類型和其他評論,我無法找到任何建議,我認爲這兩者無關。到目前爲止,我還沒有從使用///發表任何不良影響發表評論,但我不想現在就養成一種習慣,以後再忘記。據我所知,如果在評論中沒有元標記,它不會被識別爲文檔(或者我完全錯了嗎?)

在我用///註釋謎語之前,是這種類型的評論一個大的禁忌?這樣評論會有潛在的問題嗎?

+0

三個斜線用於描述已聲明的方法或函數。我只知道這一點。 –

+0

我其實剛剛回答了一個問題,解釋今天的差異。 http://stackoverflow.com/questions/13366400/should-you-use-xml-comments-on-field-variables-properties-constructors/13366665#13366665 – evanmcdonnal

+0

是什麼讓你認爲代碼文檔是否定的? – Euphoric

回答

6

這樣評論會有潛在的問題嗎?

是的。當您決定生成項目文檔時,它將把所有這些註釋行作爲XML文檔的一部分。當您使用/Doc擴展名編譯代碼時,它會使用您的XML註釋生成一個文檔(///)。如果你已經使用它來註釋掉你的代碼,那麼文檔生成將會考慮註釋掉你的文檔的代碼。

請參閱:

XML Documentation Comments (C# Programming Guide

How to: Generate XML Documentation for a Project

+0

@slugster,謝謝,我補充說,以我的答案與您的參考 – Habib

+0

哇,好點。我之前從來不需要生成文檔,也不知道「TODO」和其他關鍵字。回到'//'評論它是。我希望它會自動執行換行,儘管... –

+0

@ user643192,不確定換行符,但我使用快捷方式進行評論。選擇文本並按下'Cntl + K,C'和'Cntl + K,U'來取消註釋 – Habib

0

如果你使用像ReSharper的例如delvelopment幫助工具大多是他們爲您提供這樣一個要麼///* ... */評論ACODE塊的功能;這些評論的代碼塊可以使用這些工具來代替,這不會對你有效,一旦你有3個斜線而不是2。

文檔符號的問題是另一個問題,您將在您的文檔中生成註釋,但無法控制代碼中的哪些內容以及如何進入documetnation,因爲您已遍佈///,但我想這是一個問題可以配置文檔生成工具。

+0

事實上,使用'///'的工作量較少,因爲它會在返回後自動評論新行。每行都必須手動添加'//'。 –

1

就編譯代碼而言,沒有任何技術上的差異。他們都被忽略了。

我認爲///註釋更像是一種慣例,表示您正在使用XML Documentation Comments來評論特定的代碼塊。像Visual Studio這樣的IDE可以識別不同的評論類型,並且可以相應地進行視覺樣式設計。

鑑於使用標準//或/ * * /註釋的一般慣例,也有可能會混淆(或者更可能是惹惱)其他將閱讀您的代碼的開發人員。