在我們十幾年的求學生涯中,關於知識的獲取基本上都在執行以下步驟:學習課本上給的教程案例,練習課後的配套習題,如此反覆,直到透過考試。
自然而然的,很多人會把這種學習方式對映到程式設計上:學習基礎語法,練習幾個小的教學案例,如此反覆,直到認為學會程式設計。
長此以往,很多人都會陷入一個瓶頸:自己的程式設計水平似乎到達上限。
造成這個結果的原因之一在於他們用學生思維的方式學程式設計,而不是用開發者的思維學程式設計,也就是說這種學生思維應用到程式設計學習會極大的束縛程式設計師的提升。
那怎麼樣才是程式設計師該有的程式設計學習方法呢?
在我看來,費曼學習法是程式設計師提升程式設計能力必須掌握的一個方法。
什麼是費曼學習法呢?
簡單來說就是以教促學,每當你認為學會或者掌握一個知識後,去給別人講明白,透過這種方式對自己做一個檢驗。
為什麼提升程式設計能力需要掌握費曼學習法呢?
李笑來曾經分享過一個觀點,他說教育主要分為 3 個環節——
1、 教:我們最常做的讀書、學習、聽課等
2、 練:就是練習,大量練習,重複練習
3、 教練:在練習過程中遇到問題,教練幫忙指出來,然後繼續練。
1、2 不斷迴圈,直到把知識、技能練熟,能用到實踐中,幫自己做成一些事情,創造價值。
以此作為參考,程式設計的學習也是可以分為 3 個環節---
1、學:就是學習模仿優秀的專案,閱讀優秀的原始碼
2、練:就是練習,找 demo、小型專案、開源專案,大量重複的敲代 碼
3、教:就是教練,透過寫教程或者影片的方式給其他人講明白一個專案
也就是說,我們在學習程式設計的過程中,為了提高學習效率,可以主動的去寫專案分享,在這個過程中,表面上你是在教會別人,事實上你透過教會別人的方式來逼自己查缺補漏,你可能以為你懂了,結果發現無法表達出來,事實上還是沒有理解透徹;你以為你講明白了,別人一問,發現還是有遺漏點。