初學編程,爲何咱們在編完代碼以後什麼都記不住?其實不只僅是是大學初學編程的小夥伴們,就連筆者,在我最開始學習編程的時候,也是敲一次程序忘一次代碼,開始的時候我也想不通,覺得是我不適合學習編程,因此每次都會在學習編程語言的時候,強迫努力記住全部一切,結果仍是記不住,漸漸地我發現:程序員
雖然有些人能夠過目不忘,直接在腦海裏就能想出問題的解決方案,但普通人卻不能。特別是那些剛開始學習和探索編程世界的人,好比我本身。我逐漸瞭解到,記住全部你接觸過的代碼是一件不可能的事情!因此後來我就漸漸放棄了,也認清了記不住代碼不是不適合學編程的現實。那麼問題來了:在程序員的職業生涯中,那麼咱們該如何解決這一問題?編程
其實,代碼能夠構建的功能有無數種可能性!你能夠設想經過代碼構建任何內容,只有你想不到的,沒有構建不了的。學習一種新語言是一件很是使人激動的事情。查看問題以及代碼示例,並經過這些示例學習如何利用這種語言以及/新概念完成工做,這都很是重要,但咱們沒法記住全部的信息,不要作無謂的嘗試!你能夠在從此須要實現的時候,再反過來查看,剛開始的時候,你只須要記住這種概念能夠實現什麼樣的功能。微信
在我深刻研究React.js時,這種方式給予了個人學業很大幫助。實現的可能性太多了,你有無數種方式傳遞props、建立新state、組合組件——實在太多了!就像一個大謎團!編程語言
我瞭解到React能夠實現很是多的功能,雖然我沒法確切告訴你該如何作,但我知道存在這種可能性,這很重要。函數
就像學說一門新語言,你知道本身想說什麼,但你不知道該怎麼說。編程語言也是如此!工具
在我剛開始學習編程時,人們稱Google爲「終極工具」。那時我就在想:我使用Google已經不少年了……我錯過了什麼嗎?學習
後來才發現:重要的不是搜索內容,而是搜索的方式。不管你想尋找什麼答案,網上都有,就看你怎樣才能找到了!調試
在用外語與其餘人交談,或用一門新語言編程時,你能夠經過Google找到如何表達。你沒必要記住括號放在何處,或者這裏是逗號仍是分號。應該使用圓括號仍是大括號這種問題很容易出錯,並且也很容易解決!只需快速搜索,兩秒鐘就能找到答案。orm
可是,我有幾回由於未能寫出完美的語法而感到內疚。有語法問題那就有唄!重要的是你知道本身要作什麼,而後只須要記住該如何作便可!blog
學習一門新的編程語言必然會使人不知所措,還會引發混亂。當有人說:「放手去作就行了!」時,我會以爲很迷茫,我該從何處下手呢?最終我發現:你永遠也沒法爲須要構建的功能作好準備,你惟一能作的就是走一步看一步,先動起來。
若是說每次沒有遇到任何問題、不須要搜索任何技術、不須要尋求別人的幫助、也沒必要返工就能成功構建一個項目,我就能夠拿到一美圓的話,那麼我告訴你……到目前爲止我一美圓也沒拿到!
犯錯是學習過程當中的一部分。犯錯是學習、發展和提升程序員技術力的一部分。而學習故障排除和調試代碼則更重要,而不只僅聽別人說:「我也遇到過這個問題,你所須要作的就是……」。
我強烈鼓勵你嘗試本身解決問題。努力奮鬥。不要懼怕搞亂或破壞你的代碼。必要的時候,能夠從新構建整個項目。在學習新知識(例如編程)時,一遍遍重複才能學到真技術。一遍又一遍,直到你所有掌握爲止。
找到你想要構建的東西,而後開始動手!不要猶豫不決。反覆嘗試和失敗。當你不肯定想要完成的功能時,請花點時間研究問題。分解成塊。弄清楚如何解決每一個塊。而後,再想法把全部塊聚攏到一塊兒。若是你忘記了如何編寫for循環,或者忘記了高階函數會返回什麼,那也無需擔憂。你能夠參閱文檔或指南,而後再繼續。
有時這是一個緩慢的過程,但很是值得。最終,你會愈來愈有自信,並且有不少想要實現的新想法。
你會記住如何實現嗎?不會。
可是,你能夠參考過往的項目, 在Google上尋找答案,或者閱讀論壇。答案都是現成的,你須要作的只不過是找到答案而已。
微信公衆號:C語言編程學習基地
其實作爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這裏我推薦一個C語言C++交流QQ羣951726787,無論你是小白仍是轉行人士歡迎入駐,你們一塊兒交流成長。