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