1. 程式人生 > >你們知道怎麽高效的學習嗎?

你們知道怎麽高效的學習嗎?

學習計劃 成功 感覺 一次 化學 上大 刻意練習 效果 每天

IT 行業是一個變化非常快的行業,它需要我們持續去學習新的知識和技能。 但是,工作以後,我們經常會發現自己學習的東西很少了,倒不是沒有時間去學習, 而是學習的效率太低了。久而久之,就演變成『一年的工作經驗,重復用十年』。

當然,有些人會說自己經常加班,沒有時間學習,這只是表象,時間擠擠總是有的。 你想想你為了上王者,浪費了多少時間?為了刷今日頭條,又消磨了多少光陰?

另外,很多人推崇碎片化學習,但是有一些東西碎片化學習效率是很低的,比如數學。

1 一些學習的壞習慣
1.1 被動反復閱讀
通常編程新手在學習一個新東西的時候,喜歡買一本權威指南之類的書(大神或者同事推薦),比如「C++ Primer」和「Javascript 權威指南」。 而這樣一本書,一般頁數在700-1400頁左右,要完整讀完,在不求甚解的基礎之上大概要花費好幾個月甚至大半年時間。 別說是新手,就算是一個C++編程老手去讀「Javascript 權威指南」這樣的書也不可能在只閱讀一遍之後就能理解。 這時,很多人會選擇重復多次閱讀。有人會從頭開始重復閱讀,也有人只挑不理解的章節來閱讀。 我以前上大學那會兒就是這麽幹的,讀了好多C++的書籍,其實自己編寫的C++代碼並不多,也沒有做過大型的C++項目。 看了好多書,其實都是一知半解,效率很低。工作以後,這種學習方式更加不可取,因為你沒有那麽多時間這麽幹。

1.2 喜歡在書上劃重點
很多人偏好紙質書,因為在看書的時候手感不錯,另外,還可以在書上把喜歡的句子和重點的段落用彩色筆標註出來。 這樣做除了給自己造成一種假象「書上的重點我都標出來了,所以我都掌握了」之外,其實並無多大益處。 我現在喜歡在電腦上面看PDF,可以邊看邊寫代碼。

讀書的時候,還有一個誤區,就是大腦被動地跟著作者的思路在走,如果是一本經典的書,你會每每被作者的真知灼見所震驚, 一種「於我心有戚戚焉」的感覺由然而生。如果作者的書寫枯燥乏味,估計看幾頁你就丟到一邊去了。在看書的時候,頭腦中要 有自我意識,要感覺自己在跟作者對話,對於作者的觀點不能一味全盤吸收,可以看一會兒,停下來,問幾個為什麽。

另外,我並不是說劃重點是不好的,只是劃重點的效率沒有想像中的高。劃重點有點像收集資料和網頁鏈接,在你收集了一大堆PDF和視頻教程之後, 你會得到一種滿足,但是這並不代表你真正學到了東西,這個是要非常警惕的。

1.3 看書中代碼示例認為自己就理解了,從不動手編程
這是新手學編程的大忌,不去動手寫,不去跟編譯器和開發環境做鬥爭,你永遠不知道軟件開發過程中的操蛋事情。

1.4 拖延
這個問題最大,也是影響N多人不去學習的理由。解決的辦法只有一個,馬上去做!一旦你開始去做了,你的大腦就不會排斥了。 你的計劃再完美,你選的書籍再經典,你挑的視頻水平再高,如果你不馬上去看,去學,去動手實踐,那永遠也只是停留在空想的階段。 成功學習的典範就是成功戰勝拖延癥的典範。

1.5 學習任何東西,只停留在編寫「Hello World」的水平
這個是什麽意思呢?不是說你真的只會寫「Hello World」,而是說要跳出自己的舒適區,去嘗試一些自己不了解的領域,去做一些超過自己能力範圍的事情 。

1.6 喜歡加QQ群和微信群,美其名曰「技術交流」
這是國內技術圈的一大通病,可能剛開始會聊點技術,但是時間一長就水了。好好的技術群一秒鐘就可能變成水群。 而且經常還有老司機冒然發車,此時馬上有人冒出一句「留圖不留種,菊花萬人捅」。

我強烈建議大家不要過渡依賴Q群和微信群來學習技術或者解決問題,技術論壇,Stackoverflow 和 Github issue是你更好的去處。

1.7 天天熬夜打王者和LOL,睡眠嚴重不足
實踐證明,睡眠不足,啥事也幹不成,只想睡覺。有人會說我晚上不到那個點睡不著,我這裏有一招。 拿著一本 Kindle,挑一本英文書,躺在床上看,半小時保管睡著。雖然說看書的效果不一定佳,但是催眠也是極好的。

1.8 工作中遇到模糊的問題不搞清楚,停留在面向 Google 編程
遇到問題,不假思索「百度」和「Google」,雖然現在80%的問題都可以找到解決方案,但是這樣做對於自己並無多大益處。 找到解決方案之後,還要花幾分鐘時間探尋問題根源。可以查找背景資料,以便自己下次遇到同類型的問題時可以舉一反三。

1.9 看幾分鐘書,敲幾行代碼就開始刷知乎和朋友圈
做事情不專註,註意力不能集中,這也是學習的大忌。可以利用番茄工作法,給自己一段時間專註於某件事情,這樣可以極大地提高 自己的工作效率。

1.10 從不看書,所有問題的解決方案都從論壇,Q群和Google中來
認為看書效率太低,而且收益也不高,看書需要大量的時間,而且看完感覺也沒太大的用,不如直接Google和Q群來得容易。 如果你真的這樣想過,我只想說「小夥子,你思想很危險!」

2 一些學習的好習慣
2.1 與其反復閱讀,不如經常回顧
與其一遍又一遍地閱讀重復的書籍,編寫同樣的「Hello World」,不如有意識地總結回顧看過的書,學過的知識。 只需要每晚趟在床上的時候,回想一下今天都學到了什麽?今天自己有進步一點點嗎?

2.2 多做練習,多寫代碼,從錯誤中學習
看技術書籍要多寫書中的代碼,在初學階段哪怕對著書本敲也沒有什麽問題。認真完成書中留的習題,在自己沒有盡最大努力的情況下面不要去看答案。 不要怕犯錯,每一次犯錯都是自己進步的機會。不斷地測試自己是最好的學習方法,不管是「刻意練習」還是「10000小時定律」,都要求我們通過不斷地 實踐來鞏固我們的所學,從而讓自己成為大師。

2.3 多總結問題的解決方案,多寫可復用的代碼,拒絕復制粘貼
每天把工作中遇到問題的解決方案總結一下,想想為什麽要這麽做,是什麽導致了這個BUG,導致BUG的根本原因是什麽。 是自己的邏輯混亂,粗心大意,還是程序框架太復雜?做需求的時候,要盡量避免復制粘貼,不要讓代碼裏面有重復代碼。 Don’t Repeat Yourself! Don’t Repeat Yourself! Don’t Repeat Yourself! 「重要的事情說三遍!」

2.4 對於自己想要學習的內容,制訂一下計劃,有節奏地學習
我是一個非常愛學習的人,但是有時候還是感覺學習不夠高效。經常會由於一些突發情況把原本的學習計劃打亂,導致學習效果打折扣。 因為學習一個東西最怕三天打漁,如果能夠持續地學習一個東西,我可以把它學習地很好。這時候,我就得結合我自身的情況,選擇一段最佳的 學習時間,在這段學習時間裏我可以不被打擾,保持高度專註。比如每天早上6.30起床看一個小時書。

2.5 嘗試使用不同的方式來解決一個問題
在遇到一個沒有顯而易見解決方案的問題時,你可能費了好大功夫想出一個方案,但是千萬要記得,該方案不一定是最優的, 而且很大可能還存在一個更佳的方法。而這個方法只需要你退後一步,換個思路,或者與同事討論一下就可以得出。 這也是我為什麽非常喜歡別人 Review 我的代碼的原因,因為別人能看到我代碼中存在的不足。另外,有些時候,對現有的方案做一些 「微創新」也能使原本普通的方案變得不普通。

另外,習慣了面向對象,何不嘗嘗函數式編程?每年學習一門新的不同範式的編程語言,可以極大地開拓你的眼界,給你一些不一樣的解題思路。

2.6 註意勞逸結合
多參加體育鍛煉,多去戶外走走,運動能夠增強人的記憶力,並且有時候還能產生靈感。 如果身體不好,比如頸椎不好,下了班你就只想葛優躺了,因為你的本能告訴你,我不能再寫代碼了,會掛的。。。 想要成為大神,身體好是前提條件。有人30歲成為大神,我資質不好,我35歲成為大神總可以吧。 切莫在30歲的時候就把身體弄跨了,然後35歲轉行了,永遠失去了成長為大神的機會。

2.7 向別人解釋你的知識,多與人討論
多寫博客,多分享自己的所學所思,這些對於學習者自身也是非常有益的。通過用別人能夠理解的語言來解釋你學到的東西, 本身就要求你對該知識充分理解。另外,很多人經常感嘆「跟你討論一下,我馬上變得有思路了」,這其實就是交流的作用。

2.8 保持學習的專註
很多知識沒有足夠的專註力和足夠多的時間是很難學好的,保持學習的專註尤其重要。 因為人的大腦在專註模式下面,神經細胞更活躍,你學的東西更容易從短期記憶變成中長期記憶。 而且在高度專註下面,你的解決問題的能力也會提高,原本看起來復雜的東西,在專註面前說不定就不是事了。

2.9 找到自己的短板並補足自己的短板
發現並找到自己的不足相對來說是比較容易的,但是要補齊短板就非常不易了。 因為人總是有畏難思想的,拖延癥是怎麽來的,就是你的大腦出於本能去做一些讓自己分泌更多多巴胺的事情。 如果自己英語不好,就要下決心把英語攻克。如果自己數學不行,就要下死力氣掌握數學。 補齊短板就像渡劫,越早渡劫,越快升仙。

2.10 給自己設計學習獎勵
比如學好了 3D 數學,就給自己買一臺頂配 MacBookPro 之類的。為什麽遊戲可以讓你上癮,因為它有反饋,有獎勵機制。 學習數學是非常枯燥的,如果有了這個獎勵機制,也許自己就更容易堅持了呢。

PS:這一點對於有家室的程序員有用,你想學好什麽,要獲得什麽獎勵,你可以當著你老婆的面立個FLAG

你們知道怎麽高效的學習嗎?