說說學編程的一些經驗
程序員學的知識分為兩種,一種是偏理論的,例如計算機原理,計算機網絡、數據庫原理、以及操作系統原理,這些知識都是以理論為基礎,注重的理解能力。
另一部分主要以實踐為主,就是平常當工具用的,例如 linux 日常命令工具、數據庫SQL操作、還有寫代碼,這些知識學起來沒什么技巧,ctrl c ctrl v,拿到教程就是照著抄,唯手熟爾。
不過照著抄代碼需要做到3點:
第一步:理解,如果照著教程敲代碼沒有建立在理解基礎之上,那叫瞎抄,就跟上學的時候差等生抄別人作業沒啥區別,抄完之后,考試出一模一樣的題目你都不知道寫。
第二步:驗證,跟著把敲出來,驗證別人說的是不是對的,帶著懷疑的精神驗證每一行代碼,很多時候我們就算照著抄也有可能會抄錯,也許別人的代碼有錯,如果最后輸出結果跟預期理解的不一致,這就考驗你解決問題的能力了。怎么辦?多思考,多請教,多總結。
第三步:舉一反三,這步是最重要的,舉一反三會把知識變成自己的,把每一行代碼按照自己的思考進行修改,例如:既然這樣可行,那換種方式看看有什么不一樣的效果。
關于抄代碼,我只服一人,就是Openresty 的作者春哥,可以看下對他的一則訪談:
回過頭看,抄書是我自學編程的法寶。話說抄書這種學習方法是我意外間發現的。初三時,我酷愛化學,總是纏著當時的初中化學老師提各種奇怪的問題,老師拗不過,借給我一本他當年大學時用的課本《分析化學》。我如獲至寶,愛不釋手,但借的書總要還,但又不能立馬消化,于是我便抄書,抄了整個暑假,結果意外地發現了抄書的奧妙——那就是延緩閱讀速度,不至遺漏每一個重要的細節:眼到,手到,心到。 其實不僅書抄得,代碼也抄得。記得我剛進入淘寶時,想學習 Nginx 源碼。于是白天上班就對著 Kindle 抄 C 源,同時就已暗記于心;晚上回家在房子里來回踱步,在腦海中反復回放白天抄過的源碼,直至融會貫通,深得其奧妙。
大神都有獨門絕技,不是我等隨隨便便能學會的,好在勤能補拙,與各位共勉。
另外想要成為一個優秀的、有能力程序員的話,其實作為一個開發者或者編程學習者,有一個學習的氛圍跟一個交流圈子特別重要!這里我要推薦一個C語言 c++交流Q群,7-4-1-8-1-8-6-5-2,不管你是大牛還是小白,大家都一起成長進步。
群里有位小伙伴說道:我不是程序員,沒有計算機基礎,也不懂前端后端,更不知道框架,分布式等等的,平時不知道學編程有什么用,覺著相關工作也比較少。
問及為什么要學編程時,他說只想給他的職業生涯加加分,如果這樣能學好編程我就不信邪了,他說他是搞金融的,那為啥不學些對工作有幫助的東西呢?比如數據分析、量化交易什么的,學點即學即用的東西才是正事,別特么瞎學了。