2013-07-21 30 views
0

首先,在這個問題中,我想遠離關於源代碼評論是好還是壞的爭論。我只是想更清楚地理解人們在談論評論時告訴你爲什麼,什麼或如何的意思。什麼是評論的例子,告訴你爲什麼而不是如何或什麼?

我們經常看到像「評論應該告訴你爲什麼;代碼本身應告訴你如何」的指導方針。很容易同意抽象層面的陳述。但是,人們通常會像教條一樣放棄這種想法,並且無需進一步解釋即可離開房間。我已經看到這種用法在很多不同的地方和背景中,看起來人們可以在標語上達成一致,但他們似乎完全是在談論不同的事情。

所以,回到問題:如果評論應該告訴你爲什麼,這是什麼,我們在說什麼?這就是爲什麼這段代碼首先存在的原因嗎?這是代碼應該做什麼?如果有人能夠給出一個明確的解釋,我會非常感激,然後添加一些很好的例子(壞例子並不是真的需要,但可以隨意添加它們以作對比)。

請不要立即關閉這個問題作爲重複或論戰。我努力使它非常客觀。關於評論是好還是壞,有很多問題,但沒有人提到哪些評論的具體問題可以告訴你爲什麼。

感謝,

+0

我不要以爲這是一個合適的問題。更可能是程序員。也許這已經有所幫助:http://programmers.stackexchange.com/questions/119600/beginners-guide-to-writing-comments。 –

+0

謝謝菲利克斯,這肯定有幫助。另一方面,這個線索有很多人放棄同樣的誡命,然後沒有提供清楚的解釋或好的例子。 – rick

回答

1

評論有兩個主要目的:

  • 來概括。許多人會說「爲什麼要在我們可以讀取代碼時記錄這種方法?」,但是一行描述方法的作用/行爲的文本通常可以比閱讀代碼的30行更快地閱讀和更容易理解代碼,特別是如果該代碼調用其他方法,您可能還需要閱讀以及...

  • 解釋從代碼中不明顯的東西 - 爲什麼,或如何更詳細。簡單的例子包括「我們必須添加新的XmlElement,然後刪除舊的,因爲.net中的ReplaceChild方法不起作用!」或「使用迭代Newton-Raphson方法解決X」,或者「我們不能關閉此端口,因爲讀線程可能仍在運行」,或‘用這種方法在性能是至關重要的,但要注意,這種方法可以提供結果,該結果在誤差達5%’