學編程的時候為什么都記不???
來源:
奇酷教育 發(fā)表于:
學編程的時候為什么都記不住?
在程序員的職業(yè)生涯中,我們總是想記住所接觸過的代碼,可是總是事與愿違。雖然有些人可以過目不忘,直接在腦海里就能想出問題的解決方案,但大多數(shù)普通人卻不能。特別是那些剛開始學習和探索編程世界的人,比如我自己。
我逐漸了解到,記住所有你接觸過的代碼是一件不可能的事情!那么問題來了:我們該怎么解決這個問題呢?
一、要明白你能做什么,而不是記住怎么做
其實,代碼可以構(gòu)建的功能有無數(shù)種可能性!你可以設(shè)想通過代碼構(gòu)建任何內(nèi)容,只有你想不到的,沒有構(gòu)建不了的。學習一種新語言是一件非常令人激動的事情。查看問題以及代碼示例,并通過這些示例學習如何利用這種語言以及/新概念完成工作,這都非常重要,但我們無法記住所有的信息,不要做無謂的嘗試!你可以在今后需要實現(xiàn)的時候,再反過來查看,剛開始的時候,你只需要記住這種概念可以實現(xiàn)什么樣的功能。
在我深入研究React.js時,這種方式給予了我的學業(yè)很大幫助。實現(xiàn)的可能性太多了,你有無數(shù)種方式傳遞props、創(chuàng)建新state、組合組件——實在太多了!就像一個大謎團!
我了解到React可以實現(xiàn)非常多的功能,雖然我無法確切告訴你該如何做,但我知道存在這種可能性,這很重要。
二、在需要時尋找所需的代碼
就像學說一門新語言,你知道自己想說什么,但你不知道該怎么說。編程語言也是如此!
在我剛開始學習編程時,人們稱Google為“終極工具”。那時我就在想:我使用Google已經(jīng)很多年了……我錯過了什么嗎?
后來才發(fā)現(xiàn):重要的不是搜索內(nèi)容,而是搜索的方式。無論你想尋找什么答案,網(wǎng)上都有,就看你怎樣才能找到了!
在用外語與其他人交談,或用一門新語言編程時,你可以通過Google找到如何表達。你不必記住括號放在何處,或者這里是逗號還是分號。應(yīng)該使用圓括號還是大括號這種問題很容易出錯,而且也很容易解決!只需快速搜索,兩秒鐘就能找到答案。
但是,我有幾次因為未能寫出完美的語法而感到內(nèi)疚。有語法問題那就有唄!重要的是你知道自己要做什么,然后只需要記住該如何做即可!
三、從何處下手?
學習一門新的編程語言必然會令人不知所措,還會引起混亂。當有人說:“放手去做就好了!”時,我會覺得很迷茫,我該從何處下手呢?最終我發(fā)現(xiàn):你永遠也無法為需要構(gòu)建的功能做好準備,你唯一能做的就是走一步看一步,先動起來。
如果說每次沒有遇到任何問題、不需要搜索任何技術(shù)、不需要尋求別人的幫助、也不必返工就能成功構(gòu)建一個項目,我就可以拿到一美元的話,那么我告訴你……到目前為止我一美元也沒拿到!
犯錯是學習過程中的一部分。犯錯是學習、發(fā)展和提高程序員技術(shù)力的一部分。而學習故障排除和調(diào)試代碼則更重要,而不僅僅聽別人說:“我也遇到過這個問題,你所需要做的就是……”。我強烈鼓勵你嘗試自己解決問題。努力奮斗。不要害怕搞亂或破壞你的代碼。必要的時候,可以重新構(gòu)建整個項目。在學習新知識(例如編程)時,一遍遍重復(fù)才能學到真技術(shù)。一遍又一遍,直到你全部掌握為止。
四、如何實現(xiàn)呢?
找到你想要構(gòu)建的東西,然后開始動手!不要猶豫不決。反復(fù)嘗試和失敗。當你不確定想要完成的功能時,請花點時間研究問題。分解成塊。弄清楚如何解決每個塊。然后,再想法把所有塊聚攏到一起。如果你忘記了如何編寫for循環(huán),或者忘記了高階函數(shù)會返回什么,那也無需擔心。你可以參閱文檔或指南,然后再繼續(xù)。
有時這是一個緩慢的過程,但非常值得。最終,你會越來越有自信,而且有很多想要實現(xiàn)的新想法。
你會記住如何實現(xiàn)嗎?不會。
但是,你可以參考過往的項目, 在Google上尋找答案,或者閱讀論壇。答案都是現(xiàn)成的,你需要做的只不過是找到答案而已。 找到對的學習方法,比你悶頭苦干要值得的多。