請問,閱讀源碼時,已有的代碼注釋究竟是促進學習還是阻礙學習?
01-12
如果是解釋「為什麼」的注釋可以看,這也是注釋的主要作用;如果只是解釋「這是做什麼」,就不用看了,注釋和代碼不一致你也暈了。
我覺得,注釋明顯幫助了你學習,尤其是在你還是新手或者源碼是個精心架構的項目的時候(比如Linux 內核)
而且,注釋還可以幫助你理解作者的想法,更容易找到突破口(比如,它解決了哪些問題,又有哪些問題沒有解決)
反正,我在看PHP CMS 和 框架 的時候,很希望有個注釋(可惜,我都沒有碰到,而是開發文檔,也湊合著用吧)謝邀。問題不是很詳細,但是引起我某些同感(可能和提問者的感受相同,也可能不同),所以按照我的感受答一下。
我相信最初有這類感覺是來自應試教育:老師總是告訴我們,不要看答案,要自己做。
但,那種實踐也就限於應試教育 —— 用盲測來不斷揣測出題人的思路。
真實世界,靠的是大量的案例來體會業界整體的習慣,標準,體會某些著名開發者和社區的文化。就像福爾摩斯說的,如果你看過一千個案例,那你遇到的第一千零一個案件不可能是懸案。沒有必要從頭自己破一千個案件。源代碼才是最好最準確的注釋注釋是人們為了快速理解源代碼而附加的文檔,它可能不同步,也可能很準確。它的質量在閱讀之前是無法得到保證的。單純的問注釋對學習有益還是有害並不科學。在學習代碼的時候,掌握代碼的結構和思想是很重要。閱讀注釋是一種快捷理解掌握的方法,但並非不可替代,而且不可靠,特別要記住注釋本身就可能是錯的。
套馮東同學的句式來說就是,沒有必要從頭自己破一千個案件,但是要具備自己破一千個案件的能力。
因人而異。但我還是說,是阻礙。這也許是你想看到的答案。
取決於注釋的質量。好的注釋甚至可以讓你發現程序中的bug。Annotation的產生大抵也是如此吧
注釋是促進了學習,反過來,如果是阻礙了學習,你完全可以不看,對吧?我的理解是,代碼水平在你的水平之上,而且超過好幾個級別,注釋是絕對必需的,這是超出你的理解範疇的,注釋能夠以絕對的速度優勢幫你理解代碼。如果代碼水平在你之下,但是寫得很清晰,那注釋是沒有大作用的,但不會阻礙你,對吧?如果代碼有點糟糕,那注釋是幫你理清頭緒,如果是業務相關的,那就是更加有用了。
推薦閱讀:
※源代碼怎麼編寫的?
※如何提高閱讀源代碼的能力?
※怎麼評價歐陽乾的最後進化?
※微軟源碼丟失了會怎麼樣?
※jQuery 是庫(library)還是框架(framework)?