在程序員的職業(yè)生涯中,記住所有你接觸過(guò)的代碼是一件不可能的事情!那么我們?cè)撊绾谓鉀Q這一問(wèn)題?
以下為譯文:
每個(gè)人都會(huì)在學(xué)習(xí)編程語(yǔ)言的時(shí)候,努力記住所有一切,這也不足為奇。雖然有些人可以過(guò)目不忘,直接在腦海里就能想出問(wèn)題的解決方案,但普通人卻不能。特別是那些剛開(kāi)始學(xué)習(xí)和探索編程世界的人,比如我自己。
我逐漸了解到,記住所有你接觸過(guò)的代碼是一件不可能的事情!
那么問(wèn)題來(lái)了:我們?cè)撛趺唇鉀Q這個(gè)問(wèn)題呢?
要明白你能做什么,而不是記住怎么做
其實(shí),代碼可以構(gòu)建的功能有無(wú)數(shù)種可能性!你可以設(shè)想通過(guò)代碼構(gòu)建任何內(nèi)容,只有你想不到的,沒(méi)有構(gòu)建不了的。學(xué)習(xí)一種新語(yǔ)言是一件非常令人激動(dòng)的事情。查看問(wèn)題以及代碼示例,并通過(guò)這些示例學(xué)習(xí)如何利用這種語(yǔ)言以及/新概念完成工作,這都非常重要,但我們無(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)新語(yǔ)言,你知道自己想說(shuō)什么,但你不知道該怎么說(shuō)。編程語(yǔ)言也是如此!
在我剛開(kāi)始學(xué)習(xí)編程時(shí),人們稱(chēng)Google為“終極工具”。那時(shí)我就在想:我使用Google已經(jīng)很多年了……我錯(cuò)過(guò)了什么嗎?
后來(lái)才發(fā)現(xiàn):重要的不是搜索內(nèi)容,而是搜索的方式。無(wú)論你想尋找什么答案,網(wǎng)上都有,就看你怎樣才能找到了!
在用外語(yǔ)與其他人交談,或用一門(mén)新語(yǔ)言編程時(shí),你可以通過(guò)Google找到如何表達(dá)。你不必記住括號(hào)放在何處,或者這里是逗號(hào)還是分號(hào)。應(yīng)該使用圓括號(hào)還是大括號(hào)這種問(wèn)題很容易出錯(cuò),而且也很容易解決!只需快速搜索,兩秒鐘就能找到答案。
但是,我有幾次因?yàn)槲茨軐?xiě)出完美的語(yǔ)法而感到內(nèi)疚。有語(yǔ)法問(wèn)題那就有唄!重要的是你知道自己要做什么,然后只需要記住該如何做即可!
從何處下手?
學(xué)習(xí)一門(mén)新的編程語(yǔ)言必然會(huì)令人不知所措,還會(huì)引起混亂。當(dāng)有人說(shuō):“放手去做就好了!”時(shí),我會(huì)覺(jué)得很迷茫,我該從何處下手呢?最終我發(fā)現(xiàn):你永遠(yuǎn)也無(wú)法為需要構(gòu)建的功能做好準(zhǔn)備,你唯一能做的就是走一步看一步,先動(dòng)起來(lái)。
如果說(shuō)每次沒(méi)有遇到任何問(wèn)題、不需要搜索任何技術(shù)、不需要尋求別人的幫助、也不必返工就能成功構(gòu)建一個(gè)項(xiàng)目,我就可以拿到一美元的話(huà),那么我告訴你……到目前為止我一美元也沒(méi)拿到!
犯錯(cuò)是學(xué)習(xí)過(guò)程中的一部分。犯錯(cuò)是學(xué)習(xí)、發(fā)展和提高程序員技術(shù)力的一部分。而學(xué)習(xí)故障排除和調(diào)試代碼則更重要,而不僅僅聽(tīng)別人說(shuō):“我也遇到過(guò)這個(gè)問(wèn)題,你所需要做的就是……”。
我強(qiáng)烈鼓勵(lì)你嘗試自己解決問(wèn)題。努力奮斗。不要害怕搞亂或破壞你的代碼。必要的時(shí)候,可以重新構(gòu)建整個(gè)項(xiàng)目。在學(xué)習(xí)新知識(shí)(例如編程)時(shí),一遍遍重復(fù)才能學(xué)到真技術(shù)。一遍又一遍,直到你全部掌握為止。
如何實(shí)現(xiàn)呢?
找到你想要構(gòu)建的東西,然后開(kāi)始動(dòng)手!不要猶豫不決。反復(fù)嘗試和失敗。當(dāng)你不確定想要完成的功能時(shí),請(qǐng)花點(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ò)是找到答案而已。
想要在程序員生涯內(nèi)有更高的成就的話(huà),C/C++就是一個(gè)既可以強(qiáng)化思維能力,又可以打好編程基礎(chǔ)的編程語(yǔ)言,你想要做軟件開(kāi)發(fā),成為核心程序員的話(huà),學(xué)習(xí)C/C++的話(huà)筆者有一個(gè)C/C++的編程倆千人羣(Q艘索:C/C++編程學(xué)習(xí)13)群,你如果感覺(jué)自學(xué)C/C++語(yǔ)言有困難的話(huà),有興趣學(xué)習(xí)或者了解一下C/C++編程的小伙伴就可以進(jìn)來(lái)交流。
-
代碼
+關(guān)注
關(guān)注
30文章
4932瀏覽量
72850 -
程序員
+關(guān)注
關(guān)注
4文章
955瀏覽量
30752
發(fā)布評(píng)論請(qǐng)先 登錄
程序員的幽默——獻(xiàn)給所有程序員
怎樣理解程序員這個(gè)職業(yè)
別人的雙11 & 程序員的雙11
程序員如何定義
菜鳥(niǎo)程序員和大神程序員的差距
什么是程序員
程序員的未來(lái)
一名程序員的夢(mèng)想
程序員的類(lèi)型
程序員應(yīng)具有哪些素質(zhì)
程序員為什么經(jīng)常加班
程序員真如網(wǎng)上所傳的那樣嗎
程序員是怎么寫(xiě)代碼的?常見(jiàn)問(wèn)詳解
5款程序員最佳的代碼比較工具

程序員為什么記不住所有的代碼如何解決這個(gè)問(wèn)題
評(píng)論