我的閱讀編程書籍的好方法
英文原文:How I Read Programming Books
我是學電子工程畢業的,在這個專業里我必須要用的編程語言只有C/C++,匯編和 Matlab。在參加了一個創業周末的活動后,我開始對軟件開發、計算機編程感興趣,我決定要試一試,要進入這個領域。我發現,要想做一些編程項目,你需要去學一些完全不同的編程語言。
在過去的一年半里,我學會了 Java (用于開發 Android),Python 和 Javascript (& HTML/CSS)(用于 web 開發),我慢慢認識到,這最好的從書本和教材上學習編程的方法是把它們讀 3 遍!!用這種方式學習新的內容能更好的幫你理解新語言/新概念。我相信這種方式能幫助你最大限度的從書本中汲取知識——不論你看的是什么書。
讀第一遍
我的第一遍對編程書的閱讀只做到粗淺的理解。在第一遍中,我努力跟隨作者的思路,讓他通過例子指導我前進。我學會編程語言的語法,但不完全,我努力理解程序是如何工作的。在第一遍閱讀中我不動手敲代碼。我想,我之前有編程經驗,在讀任何編程書籍時都可以跟得上作者的思路。我并不期望在第一遍閱讀后就能用這種語言編程,就能把這些新知識運用到項目中。我得到的是對這本書里的內容有了很好的感覺。(順便說一句,我通常一次只讀一章或一節,不是一次一本書讀完)。
讀第二遍
在第二遍里,我開始寫代碼。我通常會把各節里的例子敲打出來。為什么要先讀一遍書然后回來再敲代碼?因為這樣我就知道了這節里都講的是什么,我 能先知道這代碼能干什么或不能干什么。我有了全局的感覺,而不是盲目的敲代碼,等著下一章被告知謎底,這樣又需要回來重讀這一節。在理解的情況下敲代碼能幫助我記憶語法。
讀第三遍
在第三遍閱讀中,我試圖在不參考書中的代碼的情況下寫出書中的例子和做出章節里的練習,我會直接跳到相應的章節或習題部分。在這個階段,我能很好的記住這些章節里涉及到的語法,我能完全可以解決這些章節里給出的習題或問題。
就是這樣…
這就是讓我學會了 Java,Python,JavaScript 的方法。另外一個學習新語言或新概念的好方法是做一些個人項目。如果你想更多的了解 Java 里 GUI 和圖像方面的知識,那就試著開發一個象棋游戲,這樣會督促你閱讀一些圖形、動畫、界面,甚至驅動方面的書籍。
如果你在做一些個人項目時不讀這個語言的相關資料,那你就不能在實現這個項目的過程中運用最佳的實踐方案,你只是在試著完成這個工作。你同樣無法知道如何真正的用這種語言編程,尤其是當你以前不是用的這種語言的時候。你也許會用 Java 寫出C語言風格的代碼,因為你還沒有學會用 Java 實現這種任務的方式,你熟悉C語言,你只是用 Java 的語法實現了這個功能。
我認為作為一名初學者應該先從書本學起,而不是先找培訓班或其他。你能從書本中獲得基本的概念。但當通讀了一本書后,不要把自己局限在書上提供的一些練習上,試著做一些自己的軟件項目。一定要親手打出書上的那些代碼,不要以為對這些代碼看懂了、理解了就足夠了!
我并不是一個編程高手,但通過這種方式學習編程開發,我確實學到了很多。讓我知道你對我的這種方法有什么不同的見解,請寫在留言里。