我以爲讀書仍是目前獲取知識的主要來源。可是看書是講究方法的。看書最忌諱的就是手頭捧着好多本,一下子看看這本一下子看看那本,最後的結果每每是每本都只看了開頭幾個章節,或者每本
都只是匆忙瀏覽了一遍。到後來的感受就是似懂非懂,感受知道了會了,可是一到寫代碼的時候又發現無從下手。還有一個就是隻看不練,看書的過程中應該是有選擇的將起碼一半的代碼都敲過、運行過,在這個過程當中你會悟到一些更深的內容。程序員
一類是必需要掌握的,一類僅是須要了解的。因此讀書也是有選擇的,並非每本書都應該一頁一頁地精讀。合理的方法是選一到兩本本身領域廣受推崇的書認真鑽研,反覆地看(我認爲一本好書看三遍的效果大於三本好書看一遍)。而其餘的須要瞭解的知識則能夠泛泛一看就好了。設計模式
實際工做中你會發現大部分的書講述的內容都是介紹性質的,也就是說都是「hello world」類的(固然也有就某個主題深刻研究的書,但問題是你沒有精力將每一個主題都這樣去鑽研,也沒法預見你將來可能須要對哪一個主題深刻了解),到實際場景中就會複雜的多。這個時候就須要針對你所處的問題進行專項的深刻研究。這裏最有效的方式是藉助Google(英文)就你的問題搜索,我相信必定會有大量深刻的文章可供參考。爲何我不說百度?能夠這麼說,國內對於版權的概念實在是太匱乏了,因此當你用百度搜一個主題的時候,結果每每是「一篇獨大」 -- 前面幾頁幾乎轉載的都是同一個內容,收效甚微。使用Google(英文)搜索,通常均可以找到一大票的相關主題,並且幾乎沒有重複轉載的,更重要的是你會發現老外作事是很是認真的,一個主題每每講述的很透徹,讓人感受就是生怕你不懂(這也讓我明白到爲何中外有這麼大差距)。惟一的要求就是你的英文水平了(可見英語對於程序員的重要性)。框架
若是你沒有看書,你的思惟是狹窄的,當遇到一個問題的時候時,你不知道如何解決,或者你只知道用既有的解決辦法而想不到有什麼更好的解決途徑。在平時工做中,我以爲多思考是最重要的。有很多人僅知足於完成工做任務,他們認爲他們如今所掌握的技術足以應付這項工做,因此對於該任務,每次都在使用之前用過的方法在解決,而這種實踐對於本身的提升是沒有任何幫助的。當你發現你在作的一件工做與你不久前作的一件工做性質相同時,不要着急動手去解決它。結合你所學到的知識,思考有什麼更好的辦法來解決。即便你對這種新方法或者新技術並不熟練,也要儘可能去嘗試使用,多試幾回,當你成功應用的時候,你又多了一項技能!設計
不要僅僅限於開發應用程序的角度,而應該多注重系統的體系結構或者說應用程序的構架。開發一個應用程序是很容易的,但開發一個框架是很困難的,應該多注意模塊、接口之間的關係,設計模式的應用,而不是某個方法的具體實現。最重要的是你永遠要思考它有什麼不足、有什麼優勢、有什麼值得改進得地方。接口