前幾天跟朋友討論了下如何快速學習的問題。想了下將討論的內容記錄在下面。
如何學習一門新的技術,個人認為先從自己熟悉的技術入手,掌握通用的技術,比如數組,數據類型等,這種是可以舉一反三的,從現有技術到新的技術的學習成本是最小的。
如何快速入門掌握呢?首先是需要先過一遍語法,大概有點印象,不需要強記。然后就是去做項目,但是項目不能去空想,最好的方法是找開源的源代碼編譯沒有問題的項目入手。最后就是 Google,看源碼敲代碼。
這其中會有個問題,項目很大,下手很難,怎么去做?將項目進行拆分,先考慮整個項目要做什么,分成幾大塊,一直拆解到能隨手在網絡上能查到對應的解決方法為止。
舉個例子:很多項目含有登陸注冊;登陸注冊又包含UI頁面,網絡請求,數據交互;UI頁面分為主頁面,輸入框,按鈕;這樣拆解到輸入框,按鈕部分。這個網上查也好,看源碼也好都很容易找到對應方法,能使自己快速入手。
這樣做也有個好處,就是培養自己學習的熱情,對掌握新知識有足夠的信心。
學新東西時不要使用CV大法,如上所說,拆解到最小的部分,往往很簡單,這樣手動敲上去會更容易學會。
這種學習節奏是先慢后快,將手感、語感培養一段時間,熟練后再使用CV大法加快工作效率。
舉個例子:比如從OC學Android,Xcode的使用與Android Studio是不同的用法,OC與Android是不同的語法,需要敲代碼去學會適應這種轉變。
學新東西的時候切記不要軸,記住二八原則,一門新語言掌握80%即可用了,不要去鉆牛角尖。
拿到新功能新需求會怎么做?一般首先會想下這個需求是什么,生活中有沒類似的,怎么去描述它,關鍵字屬于什么。弄明白這些,大概有個范圍,這樣去百度也好,Google也罷,都能找到對應的。剛開始搜關鍵字不一定準確,但是只要有類似相關,去查看更精確的關鍵字是什么,然后再使用更精確的關鍵字進行查找,反復鍛煉以后的搜索能力就會越來越強。