三遍讀書法

文章轉自:http://www.codeceo.com/article/how-i-read-programming-books.html

我是如何自學編程的——“3遍讀書法”


本文由碼農網翻譯,轉載請務必在正文中註明出處

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

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

第一遍通讀

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

第二遍研讀

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

第三遍精讀

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

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

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

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

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

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

譯文鏈接:http://www.codeceo.com/article/how-i-read-programming-books.html
英文原文:How I Read Programming Books
翻譯作者:碼農網 – 小峯
轉載必須在正文中標註並保留原文鏈接、譯文鏈接和譯者等信息。]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章