【威哥說】在個人QQ上常常會收到小夥伴們的留言,訴說他們學習過程當中遇到個各類問題,因爲磨礪營的課程比較緊湊,威哥不只僅要上課,還須要輔導同窗們,因此不能及時的回覆線上你們提出的問題,今天針對一個在校大學生的留言,我想和你們簡單的聊一下。程序員
你好,留住少年,很高興個人視頻能夠幫助到你,自學的歷程是艱辛的,你能堅持下來很是不錯,也但願你能繼續堅持下去,編程的路很長,最後能從事這個工做並持續多年的人都是好樣的,由於選擇編程就意味着選擇了要不斷學習,不少人從事了幾年後就轉行了,不肯持續去學習新技術是很大的緣由。技術是不斷更新的,在這個行業,「學無止境」這個詞,我認爲最能表達切身體會,也是很能體現自我價值和成就的工做之一。社會在發展,國家在轉型,正所謂「科技是第一輩子產力」,將來必定是經過高新技術來拉動社會經濟發展的,而不是靠傳統的高密度,低成本的勞動力,那個時代已通過去了。好了,不扯蛋了,進入咱們的正題吧。
關於你的問題編程
你的問題我想是不少在自學路上的人都會遇到的問題,不少人都跟我交流過,經過看視頻自學,然而效果不盡人意,代碼也跟着敲了,就是記不住,很快也忘記了,說實話,這樣能堅持下來的,對於自學來講也是很棒了,在10幾年的工做與教學中,我總結了一些經驗,我常常跟學員們說,「孰能生巧」,這四個字提及來簡單,道理誰都懂,但真正去執行的必定是優秀的,千萬切記「自覺得」會了,其實仍是不會,下面我總結了9條建議,供你們參考,學習方法各式各樣,我說的也不必定適合全部人,但咱們的目標是同樣的,就是儘量多的理解和記住,並能夠應用到開發中。開始了,小板凳準備好了沒(^^開個玩笑)性能
我建議的學習方法學習
一、聽懂 經過視頻來做爲入門學習,是一個很好的方法,尤爲是有一整套視頻最好(有須要的童鞋能夠在公衆號聯繫我哈),這樣能夠比較好的系統學習整個知識結構,學習技術視頻可不要跟看小片同樣,一遍事後就完事,這樣是不行滴,我班裏有個童鞋,在學習磨礪營內部視頻時,那傢伙,太細太細了,裏面的每一句話的表達都要深究,我有時不免口誤,或漏了幾個字,他特地記下來找到我,清楚的告訴我哪一節視頻的幾分幾秒說的哪句話他認爲有問題,或不理解,這給我印象很深。我想強調的是,他這種細緻入微的方式必定是被鼓勵的。學技術,就得要摳一點,摳一摳,再摳一摳,這跟作人恰好相反哈,作人摳,你會沒有朋友,但學技術,摳——能讓你知道更多東西,從這一點上看來,仍是自私一點好。聽懂講什麼,是學習的第一步。優化
二、理解 學Java/Android,是須要較好的邏輯能力的,幾個步驟回合下來就雲裏霧裏的,多遍下來尚未改善的,就可能懷疑你不太適合了,我常常建議個人學員們,寫程序必定要先理解,明白每句代碼的含義及做用,而後在理解的基礎上再去敲代碼,固然有些知識點須要其餘未知的知識來輔助的狀況,這個時候只須要先用,沒必要糾結,不然反覆沒法理解會起副作用,好比,煩躁、被打擊、懷疑、最後放棄,直接影響後面的學習效果,固然有人帶的好處是,老師會憑經驗告訴你什麼是必須理解的,什麼是瞭解的,什麼是先用就能夠了,必竟短時間內要學的東西太多,突擊重點,而後擴展本身的知識面,纔是正確的作法,等你真正工做個幾年,時間長了,天然會明白不少東西,由於幾年的工做和鍛鍊,你的理解能力和接觸的知識量,足於讓你輕鬆理解更多以前被認爲複雜的知識點。這是學習的第二步。網站
三、模仿 有了前面的理解,接下來就是先模仿了,這是學習任何東西的前奏,你試想一下,學打籃球(爲了耍酷)、學游泳(爲了看MM)、學武術(爲了銀熊救美)、學唱歌(爲了把妹)、學樂器(裝下文藝)、學開車(爭作老司機)等等,哪個不是從模仿開始的,這個道理我想你們都懂,但下一步就不必定了,就是不少人認爲跟着敲一遍就會了,要我說,剛學敲一遍就會,那你是神人了,學打個籃球你都會反覆練習投三分,來提升命中率;反覆練習掛檔,來達到不通過大腦就能夠天然反應;反覆練嗓子才能發出動聽的旋律......模仿是前提,但反覆模仿不多人能作到,以前帶過一個學員,給我印象很深入,都叫他小海,敲鍵盤的速度比通常人快不少,人也很聰明,腦瓜子好使,我上課寫的代碼,在讓你們練習的時候,他能夠敲三遍,敲一遍刪掉,再敲一遍再刪掉,最後敲一遍留着,你能夠說人打字快啊,那我想問,自學的時間純由本身安排,你每一個程序均可以模仿三遍的話,你必定懂得更多。這是學習的第三步。google
四、練習 模仿是純照着寫代碼,去理解代碼內部的結構和思想、解決問題的思路。這些,須要在不斷的學習過程慢慢去創建,說白了,你要學的不只是代碼,還有解決問題的方法,告訴你,在通常的程序實現中,每一個問題都有一些固定的解決思路,俗稱「套路」,你要掌握的各類各樣的套路,並能夠靈活運用。說的輕巧,如何達到靈活運用?這就得靠練習了,練習我認爲是有別與模仿的,就像咱們天天給學員留的做業同樣,這個能夠稱爲練習,練習會用到今天上課講的知識點,但又不是上課講的代碼,須要你根據對知識點的理解,加上觸類旁通的能力,參考上課的示例,去獨立完成,這是跟模仿最大的區別,由於這個過程你須要獨立思考,這是學習的第四步。code
五、筆記 威哥,我記不住啊,學了後面的忘了前面的,怎麼辦?這樣我能學會嗎?是的,這是你們都會遇到的問題,學得越多,忘得越多,不要說剛接觸編程的人了,就是老手,一段時間不用某個知識點,也會忘記的,我也同樣,這是很正常的狀況,對於剛開始學的人來講,更爲明顯而已,一會兒知識點那麼多。因此,筆記就來了,在學習每一個知識點的時候,作好詳細的筆記,是幫助記憶很是好的方法,越細越好,筆記須要包括知識點的概念,做用,使用場景,使用步驟與說明,代碼示例,重點強調,知識的小結等。我會要求學員跟我一塊兒作筆記,切勿作拿來主義,把別人的筆記複製粘貼過來,由於作筆記的過程就是在整理思路和梳理重點的過程,複製粘貼根本達不到效果。繁瑣的東西讓筆記來幫助咱們記憶,固然腦子裏能記的越多越好,起碼要記住思想性的、思路、重點和總結性的東西。這是學習的第五步。視頻
六、反覆練習 反覆練習,就是孰能生巧的過程,在反覆的過程當中,你要、並且必須是提升性的反覆練習,要問問本身,以前的代碼有什麼問題嗎,是否是有改進的地方(放心,必定會有的,只是你沒想到),是否是能夠優化性能,是否是能夠封裝一下,等等,這個過程是你技術獲得昇華的時候,就像我這麼多年講課同樣,若是每一遍都講成同樣的,那我早放棄了,那會是件很無聊的事情,本身也沒有提高,因此我每一遍上課都會有不同的地方。我知道你會問,那我根本想不到有什麼能夠改進的,有什麼能夠優化的,有什麼能夠封裝的,代碼有什麼問題,怎麼辦?不要緊,因此說這是反覆練習,可不要理解爲跟模仿同樣,反覆練習是指一段時間事後反覆使用以前的學過的知識點,隨着你的知識面和代碼量的增長,或者查閱資料的方式,只要你想去作,你就會提升。這是學習的第六步。開發
七、多維思考 多維思考問題是指,你要學會尋找資料,無論從簡單的google或baidu,仍是泡技術網站,再好比關注我這樣的技術類公衆號,看看天天的文章(風雨無阻哈),有些看不懂不要緊,起碼你能拓展本身的知識面,有些東西如今看不懂,那就瞭解一下,有一天你用到了,天然就會懂了,用不到知道就好了,技術的世界那麼大,不是每一個技術你都要學會的,若是你真學會了,那也離死不遠了,作到知識面要廣,技術要專便可,多維思考能夠幫助你積累拓展知識面,也會讓你對相同的知識用法有不一樣的看法,這是學習的第七步。
八、記單詞 學編程跟英語能力說實話關係不會太大,英語好固然是有幫助的,代碼全是英文,跟英文一點關係沒有那是假話,但英語很差也不是就學很差編程,有一次我上一個國外技術網站,跟老外聊天,我說我不懂英文聊天,好不容易憋出幾個詞來,而後他說,那你是怎麼學會編程的,我說寫代碼跟英文聊天是兩碼事,我懂計算機英語,生活上的沒法交流,讓他們驚訝不已,感嘆中國程序員如此強大(^^),確實,在學習編程的過程,咱們固然要記單詞了,否則那麼多方法,名詞不懂,是記不住代碼的,這個千萬不要拒絕,記多了,你會發現經常使用的單詞其實很少,不懂必定要查,用多了天然就記住了,由其是Android開發中,各類屬性、內部方法、源碼,你要是都看不懂單詞,會給你帶來很大的麻煩。想學好,必記單詞。這是學習的第八步。
九、總結 學會總結,纔是硬道理,總結是學習的精髓,也是要記在腦子裏的最重要的東西,細節部分能夠靠筆記輔助,精髓要是沒有提煉出來,你會很快忘記,總結的方式有不少種,好比腦子裏詳詳細細過一遍今天學習的東西,注意,這裏我要強調的詳細,只有這樣,你才能總結出精髓出來,而後能夠記下來,或寫成博客,或空間日記,都是很好的習慣,你知道爲啥不少人在網上寫博客嗎,其實他是幫助本身梳理思路,又能幫助到他人,還能備忘,若是寫得好,說不定還能提高本身的我的價值,一舉多得啊,只是要堅持下來是不易的,但起碼你要學會本身去總結。一句說,不會總結的人,成不了老司機。
以上給你們總結了9點學習方法,只是我的的看法,若是某一點可以幫助到你,那我寫這篇文章就很是值了,若有不一樣意見也歡迎一塊兒探討,必竟學習方法這種東西,各人有各人的方式,好方法能與你們一塊兒分享,幫助更多人,咱們就是在發揚互聯網的開放、平等、協做、分享精神。
(完) 進入磨礪營官方網網站下載視頻與項目