請問,閱讀源碼時,已有的代碼注釋究竟是促進學習還是阻礙學習?


如果是解釋「為什麼」的注釋可以看,這也是注釋的主要作用;如果只是解釋「這是做什麼」,就不用看了,注釋和代碼不一致你也暈了。


我覺得,注釋明顯幫助了你學習,尤其是在你還是新手或者源碼是個精心架構的項目的時候(比如Linux 內核)

而且,注釋還可以幫助你理解作者的想法,更容易找到突破口(比如,它解決了哪些問題,又有哪些問題沒有解決)

反正,我在看PHP CMS 和 框架 的時候,很希望有個注釋(可惜,我都沒有碰到,而是開發文檔,也湊合著用吧)


謝邀。問題不是很詳細,但是引起我某些同感(可能和提問者的感受相同,也可能不同),所以按照我的感受答一下。

我相信最初有這類感覺是來自應試教育:老師總是告訴我們,不要看答案,要自己做。

但,那種實踐也就限於應試教育 —— 用盲測來不斷揣測出題人的思路。

真實世界,靠的是大量的案例來體會業界整體的習慣,標準,體會某些著名開發者和社區的文化。就像福爾摩斯說的,如果你看過一千個案例,那你遇到的第一千零一個案件不可能是懸案。沒有必要從頭自己破一千個案件。


源代碼才是最好最準確的注釋

注釋是人們為了快速理解源代碼而附加的文檔,它可能不同步,也可能很準確。它的質量在閱讀之前是無法得到保證的。單純的問注釋對學習有益還是有害並不科學。

在學習代碼的時候,掌握代碼的結構和思想是很重要。閱讀注釋是一種快捷理解掌握的方法,但並非不可替代,而且不可靠,特別要記住注釋本身就可能是錯的。

套馮東同學的句式來說就是,沒有必要從頭自己破一千個案件,但是要具備自己破一千個案件的能力。


因人而異。但我還是說,是阻礙。這也許是你想看到的答案。


取決於注釋的質量。好的注釋甚至可以讓你發現程序中的bug。Annotation的產生大抵也是如此吧


注釋是促進了學習,反過來,如果是阻礙了學習,你完全可以不看,對吧?

我的理解是,代碼水平在你的水平之上,而且超過好幾個級別,注釋是絕對必需的,這是超出你的理解範疇的,注釋能夠以絕對的速度優勢幫你理解代碼。如果代碼水平在你之下,但是寫得很清晰,那注釋是沒有大作用的,但不會阻礙你,對吧?如果代碼有點糟糕,那注釋是幫你理清頭緒,如果是業務相關的,那就是更加有用了。


推薦閱讀:

源代碼怎麼編寫的?
如何提高閱讀源代碼的能力?
怎麼評價歐陽乾的最後進化?
微軟源碼丟失了會怎麼樣?
jQuery 是庫(library)還是框架(framework)?

TAG:學習 | 程序員 | 編程 | C編程語言 | 源代碼 |