“3遍读书法” 我是这样自学编程的
我 大學(xué)本科念的是電子工程專業(yè),所以到那個時候為止,我唯一使用過的編程語言就是C/C++、Assembly、以及 Matlab。后來一個偶然的機會我參加了一個“周末創(chuàng)業(yè)”的活動,并且開始漸漸對軟件開發(fā)和計算機科學(xué)感興趣,然后我發(fā)誓我要不擇手段地進入這個洋溢著 無限魅力的領(lǐng)域。但是,我需要學(xué)習(xí)其他的編程語言,以便于和大家協(xié)作一起搞項目。
在過去的一年半時間里,我已經(jīng)學(xué)了Java(用于Android開發(fā))、Python和JavaScript(&HTML / CSS)(用于Web開發(fā))。在這“路漫漫其修遠兮”的學(xué)習(xí)過程中,我總結(jié)出了一條規(guī)律:要想對書中和教材里的編程知識融會貫通,那么就要好好研讀3遍! 是的,你沒有聽錯,就是3遍!這種“3遍讀書法”用在理解新語言新概念方面的效果尤其顯著。出于“大家好才是真的好”的共享心態(tài),在這里我將詳細說說我的 這種方法,希望能對各位有所裨益。
第一遍通讀
第 一次閱讀編程類書籍,只要能對全文有一個正確的理解即可。第一次閱讀,我會盡可能地跟著作者的思路走,看看他們用于展示的例子。我也學(xué)習(xí),學(xué)習(xí)語法, 學(xué)著去了解程序是如何構(gòu)建起來的,當(dāng)然可能并不全面。第一次通讀的時候,我不會去寫任何代碼,即便我大多數(shù)的編程書籍都能看得懂。在第一次閱讀之后,我并 不覺得我能一下子一步登天立馬就掌握了如何用新的語言寫代碼。但是,這會讓我有一種掌握全局的良好感覺。(順便說一句,我通常一次只讀取一章或一節(jié),而不 是整本書)。
第二遍研讀
這一次,我就 要寫代碼了。我會把每一章節(jié)所舉的例子,自己試著也用代碼輸一遍。我之所以要先通讀,然后再回過頭來好好研讀的原因就是,這樣不但能讓我知 道每一章節(jié)具體講什么,還能明白這些代碼能干什么。這樣我就能對整本書的前因后果、來龍去脈掌握的清清楚楚、明明白白。不光理解得更透徹了,而且對于代碼 也不再是盲目地囫圇吞棗,而是有預(yù)見性地先在下面的段落中知道了它的作用,然后在回過頭去再次重新研讀。這一步,讓我記住了語法。
第三遍精讀
第三遍的時候,我就不再滿足于書上的例子了,我會自己發(fā)散思維,試著舉一反三,自己舉例子來應(yīng)用這些代碼。也會去看看書上提出的練習(xí),然后試著靠自己去解決這些問題。到了這個階段,每一章節(jié)的語法都盡在我心,胸有成竹,我自信這些個問題統(tǒng)統(tǒng)不在話下。
附耳過來,一般人我不告訴他……
我 就是靠著這個方法自己一步步學(xué)會了Java,Python和JavaScript的。另外一個學(xué)習(xí)編程語言的好方法是做項目。如果你想知道更多有關(guān)于 Java語言中的用戶界面和圖形,那么不妨建立一個PVP國際象棋游戲,這會迫使你不得不學(xué)會有關(guān)于圖形、動畫、圖形用戶界面,以及事件驅(qū)動等等。
不 過兩者的不同之處在于,單純?nèi)ジ沩椖?#xff08;特定語言)而不經(jīng)過知識的灌溉,即使你也能完成項目,但是寫出來的代碼絕對沒有我的“3遍讀書法”精煉、簡捷、 準(zhǔn)確、一針見血。你也不可能真正掌握這門編程語言。我的意思是,如果你精通C語言,那么最后你寫出來的Java語言可能會帶著C語言的風(fēng)格,搞得四不像。 為什么會這樣呢?因為其實你并不是真正會Java,你只是想完成項目而已。
我建議初學(xué)者如果想學(xué)新的編程語言,最好是從書里去學(xué),而不 是跟著教程死記硬背。書里面一般都會有具體的思路,這有助于我們的理解。如果你聽從了我的建議,并且正在看書,那么請不要局限于你的工作,除了書中的練習(xí) 題,還可以嘗試著做做自己的項目。另外,請一定要自己親手寫一遍代碼,不要想當(dāng)然地以為閱讀和理解代碼就夠了——請謹(jǐn)記那是遠遠不夠的!
我不是專業(yè)的軟件開發(fā)人員,不過這種方法的的確確幫助了我學(xué)習(xí)編程/開發(fā),讓我得以揭開這個世界的神秘面紗,領(lǐng)略她的優(yōu)雅風(fēng)情。如果各位有更好的方法,歡迎留言,謝謝:)
作者:佚名
來源:51CTO
總結(jié)
以上是生活随笔為你收集整理的“3遍读书法” 我是这样自学编程的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]敏捷开发之Scrum扫盲篇
- 下一篇: TOP命令 详解CPU 查看多个核心的利