1. 程式人生 > >只要4步,把程式設計知識內化為能力!

只要4步,把程式設計知識內化為能力!

昨天一位開發者通過在行約我聊找工作的事情,他提到一個很典型的現象:

自己對很多程式設計方面的知識都有了解,比如設計模式、多執行緒等,看書時都知道怎麼回事兒,可面試時別人問到它們怎麼用,卻說不上來。而且,在實際編寫程式碼時,也想不到要用它們,始終沒用起來。

這其實是知識的內化問題:怎樣把書本上的知識,內化為自己的能力,讓自己遇到合適的場景不假思索就能用起來,始終是個問題。

我特意回顧了自己學習程式設計的經驗,認真思考了這個問題,找到一個將知識內化為能力的實踐規律,分享給大家。

有這麼4個步驟:

  1. 記住知識點,尤其是它的適用場景、可以解決什麼問題、能帶來什麼價值。
    比如設計模式中的工廠模式,你就要知道,它是用來解決物件建立問題的,能夠把散佈在程式碼中的物件建立程式碼收歸一處,方便物件類別的新增、修改、擴充套件,也方便具體物件的建立,最終可以構建出耦合度更低的程式碼。
  2. 帶著知識點,觀察別人怎麼用它。 比如你可以帶著抽象工廠模式,到你的工作程式碼中、到開源專案中、到知名開發框架中去找它們的影子,看看別人怎麼用的。
  3. 有意識地去找或者創造可以使用知識點的典型場景,有意識地去用。 哪怕用得很生硬,也要用,比如程式碼中只有一種物件要建立,也可以為了練習而引入抽象工廠模式。我們要告訴自己:我要用這個,我要用這個,我要用這個。反覆重複1~3步,尤其是第3步,目的是為了在頭腦中建立“知識–>場景”的對映。
  4. 在開始新工作時,有意識地詢問自己,哪裡可以應用某個知識點,爭取去用它。 反覆如此,爭取每週都可以應用那麼兩三次,持續一個月,就可以建立從“場景–>知識”的對映。

經歷了這 4 個步驟後,書上學來的知識就會內化,你一看到某個知識點的適用場景,無需思考,就可以用這個知識點來解決問題。這個狀態,我稱之為“一觸即發”。

特意畫了一張簡單的圖給大家參考:

其實不單是程式設計知識,其他的,也一樣。比如你學習RIA讀書法,那就:

  1. 先記住RIA的用法。
  2. 看別人怎麼用RIA拆書。
  3. 給自己一個月時間,專門練習RIA拆書,嚴格遵照RIA的做法,用四色便籤紙,一步一步來做。拆過20本書,你就能按照固定流程拆書了。
  4. 一讀書就問自己,是不是可以用RIA讀書法。持續一個月。

這麼下來,你肯定很快會用RIA來讀書。

還有很多知識,都可以參考類似的方法。

這個方法的核心,就是反覆實踐,提升反應速度,當我們通過反覆的、持續的、有意識的練習,做到“場景出現,不假思索,即刻應用”這種一觸即發的境界,就可以說,自己把某個知識點內化了,才可以說,我們把知識變成了自己的能力。

也只有到這個時候,我們才能真正把知識用來解決問題。


歡迎關注我的公眾號:程式視界。