程式設計師程式設計,你的練習是不是有效的?

歐陽慍斐發表於2018-08-20

 對於我來說,提升技能的專案會有四種:

  純興趣驅動的專案。即我的Idea列表上的一個個酷炫的專案,先滿足自己再說。

  理論驅動的專案。這一類的專案會比較少,因為我們需要牽強地驅動出這樣的專案,然後以理論的方式驅動它。

  興趣結合理論型。有一個長長的Idea列表,難免有些時間會和將要學習的理論有很大的交集。這種的練習效果是最好的。

  整合成文章、電子書。這一步主要是為了分享、鞏固知識點、討論。

  簡單地來說,就是:

  刻意的理論練習

  興趣實踐

  兩種不同的走向,上面的第三點和第四點,算是獲得一些更好的效果。開始之前,讓我們再次討論一下情緒週期的問題。

  程式設計與情緒週期

  如果你每天都有很多可支配的自由時間時,你也會觀察出情緒週期這件事。

  

 

  所謂“情緒週期”,是指一個人的情緒高潮和低潮的交替過程所經歷的時間。

  

 

  這種週期看上去就好像是一圖所示,但是總體上好像會長一點。

  

  這一點在我的GitHub上看起來就有點明顯了,至少它是一年的一個週期:

  

  對於我來說,我會交替寫程式碼和寫部落格、電子書。因為它以一定的規律在迭代著:

  適合寫大量程式碼的日子

  適合學習理論的日子

  適合玩遊戲《文明》、看電影、睡覺的日子。一般來說,這種事件的出現天數比較少。

  主要還是集中在前兩點上,程式碼練習與理論學習。

  練習與計劃

  持續性

  對於練習來說,需要保持相當高的持續性。很明顯的一點是,參考我的GitHub的連擊。對於我的連擊來說,主要有下面的兩個意圖

  裝逼

  驅使不斷自己練習

  如果有一個很好的動機來驅動自己去練習程式設計,那麼GitHub的連擊就是一個很好的入口。當然,GitHub已經不再顯示連擊多少天了。

  在我們達到所謂的10000小時之前,我們還需要這麼久:

  

  這隻算上了工作上的時間,如果我們還有一半的時間也在練習上面,那麼就會縮短為2.4年?

  答案是:不可能!

  

 

  懷孕需要10 個月,但是顯然即使10 個人同時努力,也不能在一個月內生下孩子。

  

 

  為了保證更好的練習效果,我們需要在每次短暫的時候之後,休息一段時間。為了實現這個我們可以用兩種方式:

  多喝水。無論是學習還是工作,喝水總是有利於大腦思考,還有利於你多上廁所。多走動,可以防止你有各種職業病。

  採用所謂的番茄工作法——可以找個藉口讓自己休息。

  

  不斷地休息,才能讓下一個練習走得更往,這樣才能保證好的練習效果。

  練習之前,你需要知道三件事

  1. 練習要有計劃才會有效果的!

  2. 練習要有計劃才會有效果的!

  3. 練習要有計劃才會有效果的!

  對於不同的型別來說,你需要不同的練習計劃。

  程式設計:使用新技術、新思想

  在練習編碼的過程中,使用一些新的技術和新的程式設計思想可以幫助我們走出舒適區。當然如果你要在專案上用上新技術的時候,你也會採取相似的練習來做這樣的事。而這也是大部分人嘗試新技術的開始,如在每個新的程式語言的入門手冊上,他們都會來一個經典的:

  

  然後我們就會做一些類似的專案來快速上手這個語言,如以前我們用Java實現了一個Blog系統,我們就可以用Node.js實現一個Blog系統。同樣的,我們也很容易將其應用到不同的語言環境中。

  假定,你在A專案上使用了Java語言,而你們的新專案使用了是類似於A的業務,那麼你就可以採用新技術或者思想來實現。

  理論:練習和總結

  理論本身有可能很難理解,從而很難應用。因此,在學習理論的最好方式還是應用,而要構建一個好的場景並不是一件容易的事。

  我們需要不斷地探索過別人實踐過的一些例子,模仿一些相似的用法,然後建立自己的類似的專案。同樣的,我們還是可以基於我們以前實踐過的專案,在那之上做一些改進來學習理論知識。

  理論還有一點比較麻煩的是,記住它。在我們練習了很多之後,我們可能很快地就忘記它了。因此,你需要筆記來做這樣的事。

  如有不同意見,歡迎留言評論。

歡迎加入Java高階架構學習交流群:468947140

本群提供免費的學習指導 架構資料 以及免費的解答

進群修改群備註:開發年限-地區-經驗

點選連結加入群聊【Java-BATJ企業級資深架構】:https://jq.qq.com/?_wv=1027&k=52j2FVO


相關文章