一說到學(xué)習(xí),我就開始回顧過去的時間學(xué)到了什么,試圖找出學(xué)而無所得的原因,往往找不出原因,因為我在過去的時間做過什么,不能精確地回憶起來。本來是為了弄清楚如何學(xué)習(xí),卻陷入了對過去的無結(jié)果的反思之中。
現(xiàn)階段,列入學(xué)習(xí)計劃的是幾本書或幾方面的知識:《代碼大全》、《代碼整潔之道》、數(shù)據(jù)結(jié)構(gòu)、《涂抹mysql》。按照“學(xué)習(xí)技術(shù),應(yīng)該先專業(yè),再廣博”的原則,上面的學(xué)習(xí)方向,是不正確的,應(yīng)該專注于學(xué)習(xí)LNMP或LAMP系列知識。
前段時間,我看Yii源碼,學(xué)習(xí)《C Primer Plus》?;貞浧饋?,無所得。不知道原因,我慢慢地就沒有看Yii源碼了,甚至,在業(yè)余時間,基本沒有學(xué)習(xí)過LNMP系列知識。對于PHP,我已經(jīng)沒有興趣在業(yè)余時間學(xué)習(xí)了,找不到特別有價值、而又有興趣、又有實際需求的PHP知識。
先專業(yè),再廣博。專業(yè),可能也是需要建立在良好的基礎(chǔ)上。什么是良好的基礎(chǔ)?掌握基本的數(shù)據(jù)結(jié)構(gòu)知識,肯定是良好的基礎(chǔ)之一。
工作以來,寫下的代碼已經(jīng)不少了,可能已經(jīng)具備了去學(xué)習(xí)代碼整潔、代碼重構(gòu)等理論知識的實踐基礎(chǔ)和需要。我寫的代碼,按照書上說的代碼整潔知識來評價,是比較糟糕的代碼??晌也荒艿贸鲞@樣的結(jié)論:糟糕的編程習(xí)慣和代碼,使我在工作中飽受其害。(是我真的沒有飽受其害,還是忘記了受過的害?)自我評價要客觀。
LNMP、軟件工程知識、數(shù)據(jù)結(jié)構(gòu)和算法知識,甚至還有其他的非編程知識,任何一項,都是博大精深,學(xué)習(xí)資料浩如煙海,我的時間又有限,我應(yīng)該選擇哪些進(jìn)行學(xué)習(xí)?應(yīng)該先學(xué)哪些知識?應(yīng)該把哪些知識學(xué)得非常好、而有些只需淺嘗輒止?
難以選擇,是因為我的目標(biāo)不明確,目標(biāo)沒有細(xì)化。目標(biāo),學(xué)習(xí)中的目標(biāo),就是我價值觀中關(guān)于學(xué)習(xí)的部分。擁有明確的價值觀,是判斷一件事情對我是否有用的基礎(chǔ)。
我為什么學(xué)習(xí)編程?
通過優(yōu)秀的專業(yè)技能,去獲取高薪水。
成為一個專業(yè)程序員,能夠走得盡可能遠(yuǎn),盡可能在生活和事業(yè)上取得最大的成功。
注意:寫作,對我而言,是一種高質(zhì)量的思考,首先要關(guān)注和研究自己面臨的實際問題,思考出解決之道。