如何提高程式設計能力
1. 多寫程式碼
學習某件事情最好的辦法就是練習。你應該花大量時間去構建和編寫程式碼除非你認為練習對你的幫助不大。你可以從寫一些基礎知識相關的簡單程式開始。
2. 參與不同型別的專案
當你對某種開發語言非常熟悉之後,你應該開始做一些正事了。這樣做能幫你對那種開發語言的效能有個全面的理解,同時也能推動你去學習與這門語言相關的一些東西。過了段時間你會發現你經常用類似的方法去解決類似的問題,將很難從固有思維中跳出來去學習新的技能。
3. 精通一到兩門你使用的語言
讀一兩本關於這門語言的好書。重點掌握這門語言的先進開發理論知識,並且對它的核心和語言庫足夠了解。確保你所使用的語言中至少有一種指令碼語言。
4. 開始閱讀
儘可能的多讀書。書能夠幫你係統的學習一門語言,並且能夠帶你瞭解這門語言的各個方面。對於初學者來說更應該多讀書。
5. 加入討論
當和別人討論的時候,你會產生一些以前從未出現過的主意或者想法。在這個過程中,你能夠從別人那裡學到很多,同時這也是一次機會,通過分享你關於程式設計的看法檢查你到底對於這門語言掌握了多少。
6. 通讀公司內部的技術和培訓資料
比如說,谷歌有很多的程式碼實驗室,有著幾十年經驗的大牛們用各種語言寫出來的最好的實踐在實驗室裡用來做核心培訓和高質量的指導。
7. 寫部落格
當你學習程式設計時,你會遇到各種問題,並且想盡辦法去解決它們。你可以在部落格中記錄下你解決問題的過程和你從中學到了什麼。其它人看到你的文章後,也能從中獲益。同時,你還能和志同道合的人交上朋友。
至於花在學習程式設計上的時間,剛開始你應該擠出20%的個人時間致力於提高個人開發能力。如果可能的話,最好是每天一兩個小時而不是一個禮拜一天,因為這樣你能通過日常習慣去提高你的能力。最初的時候效果可能不明顯(當然如果你因為上網或者其他事情分心的話是沒效果的),但是這樣做的目的是讓你在長期的程式設計學習中有更高的效率。
8. 紮實的基礎
資料結構、離散數學、編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程式人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
9. 豐富的想象力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。