“3遍讀書法” 我是這樣自學程式設計的

codeceo發表於2015-07-31

  我大學本科唸的是電子工程專業,所以到那個時候為止,我唯一使用過的程式語言就是C/C++、Assembly、以及 Matlab。後來一個偶然的機會我參加了一個“週末創業”的活動,並且開始漸漸對軟體開發和電腦科學感興趣,然後我發誓我要不擇手段地進入這個洋溢著 無限魅力的領域。但是,我需要學習其他的程式語言,以便於和大家協作一起搞專案。

  在過去的一年半時間裡,我已經學了Java(用於Android開發)、Python和JavaScript(&HTML / CSS)(用於Web開發)。在這“路漫漫其修遠兮”的學習過程中,我總結出了一條規律:要想對書中和教材裡的程式設計知識融會貫通,那麼就要好好研讀3遍! 是的,你沒有聽錯,就是3遍!這種“3遍讀書法”用在理解新語言新概念方面的效果尤其顯著。出於“大家好才是真的好”的共享心態,在這裡我將詳細說說我的 這種方法,希望能對各位有所裨益。

  第一遍通讀

  第 一次閱讀程式設計類書籍,只要能對全文有一個正確的理解即可。第一次閱讀,我會盡可能地跟著作者的思路走,看看他們用於展示的例子。我也學習,學習語法, 學著去了解程式是如何構建起來的,當然可能並不全面。第一次通讀的時候,我不會去寫任何程式碼,即便我大多數的程式設計書籍都能看得懂。在第一次閱讀之後,我並 不覺得我能一下子一步登天立馬就掌握瞭如何用新的語言寫程式碼。但是,這會讓我有一種掌握全域性的良好感覺。(順便說一句,我通常一次只讀取一章或一節,而不 是整本書)。

  第二遍研讀

  這一次,我就要寫程式碼了。我會把每一章節所舉的例子,自己試著也用程式碼輸一遍。我之所以要先通讀,然後再回過頭來好好研讀的原因就是,這樣不但能讓我知 道每一章節具體講什麼,還能明白這些程式碼能幹什麼。這樣我就能對整本書的前因後果、來龍去脈掌握的清清楚楚、明明白白。不光理解得更透徹了,而且對於程式碼 也不再是盲目地囫圇吞棗,而是有預見性地先在下面的段落中知道了它的作用,然後在回過頭去再次重新研讀。這一步,讓我記住了語法。

  第三遍精讀

  第三遍的時候,我就不再滿足於書上的例子了,我會自己發散思維,試著舉一反三,自己舉例子來應用這些程式碼。也會去看看書上提出的練習,然後試著靠自己去解決這些問題。到了這個階段,每一章節的語法都盡在我心,胸有成竹,我自信這些個問題統統不在話下。

  附耳過來,一般人我不告訴他……

  我就是靠著這個方法自己一步步學會了Java,Python和JavaScript的。另外一個學習程式語言的好方法是做專案。如果你想知道更多有關於 Java語言中的使用者介面和圖形,那麼不妨建立一個PVP國際象棋遊戲,這會迫使你不得不學會有關於圖形、動畫、圖形使用者介面,以及事件驅動等等。

  不過兩者的不同之處在於,單純去搞專案(特定語言)而不經過知識的灌溉,即使你也能完成專案,但是寫出來的程式碼絕對沒有我的“3遍讀書法”精煉、簡捷、 準確、一針見血。你也不可能真正掌握這門程式語言。我的意思是,如果你精通C語言,那麼最後你寫出來的Java語言可能會帶著C語言的風格,搞得四不像。 為什麼會這樣呢?因為其實你並不是真正會Java,你只是想完成專案而已。

  我建議初學者如果想學新的程式語言,最好是從書裡去學,而不 是跟著教程死記硬背。書裡面一般都會有具體的思路,這有助於我們的理解。如果你聽從了我的建議,並且正在看書,那麼請不要侷限於你的工作,除了書中的練習 題,還可以嘗試著做做自己的專案。另外,請一定要自己親手寫一遍程式碼,不要想當然地以為閱讀和理解程式碼就夠了——請謹記那是遠遠不夠的!

  我不是專業的軟體開發人員,不過這種方法的的確確幫助了我學習程式設計/開發,讓我得以揭開這個世界的神祕面紗,領略她的優雅風情。如果各位有更好的方法,歡迎留言,謝謝:)

  英文原文:How I Read Programming Books 翻譯:codeceo

相關文章