? ? ? ?很多程序員,在工作之初,感覺學到了很多知識,但是工作一段時間之后,即便繼續(xù)學習,但是所獲有限.我認為這是學習方法不對造成的.我推薦采用以下兩種方法.
? ? ? ?一是通過實踐的方式上手,然后進行系統(tǒng)性的學習.一開始,拿具體項目,或者實驗性小項目,作為學習對象,去攻克一個個技術難點,在這個過程中,會不斷學習到新知識,也會帶來成就感,激勵自己能夠繼續(xù)深入學習.項目過程中查詢的那些資料,可以幫助我們找到哪些資料和書籍需要我們后續(xù)深入閱讀.不要一開始就掉在書的海洋里,帶著問題去閱讀,比被動接受書本知識更讓人映象深刻,再則人很難在長時間保持只學習一個東西,貪多容易分散精力.項目中遇到的問題,當時解決掉,如果不知道其原理,需要后續(xù)進行系統(tǒng)性學習,這樣以點帶面,可以把很多零散的知識系統(tǒng)化.
? ? ? ?二是不斷加強基礎知識,基礎知識就大廈的地基,它決定了大廈能夠承載的高度,決定了你的技術之路是否能夠更加長遠.很多人發(fā)現自己年年學習新技術,一直在追趕,一直沒追上,力不從心,很大程度上是因為沒有扎實的基礎知識,當新東西出來之后,不知道其背后的原理.再學習,又重新走了會用但是不懂背后原理的老路子,不斷循環(huán),但是提高有限,疲于奔命.看到新東西之后,需要思考其背后的原理,是通過什么原理衍生出來的,有什么優(yōu)缺點,不要一味跟風,有自己的技術判斷力,還要與具體的使用場景結合,在什么樣的環(huán)境下才能充分發(fā)揮其價值.做到技術使用的合理性,不一定是最新的技術,但是是當時環(huán)境下的合理選擇.這些都需要扎實的基礎知識保駕護航.