別人寫代碼隨隨便便,你卻覺得特別困難!有什么辦法能解決?
總是有人在那里寫你不懂的復(fù)雜代碼,解決復(fù)雜的編程問題。“我永遠(yuǎn)不會像他們一樣,”你這樣想著,并對他們肅然起敬,“他們是怎么學(xué)會的?”事實上,他們肯定不是天生就知道如何編碼,也不是他們比你更聰明。本文中將詳細(xì)介紹克服編程恐懼的步驟。
如果你想進(jìn)入一個需要編程知識的領(lǐng)域(比如數(shù)據(jù)科學(xué)或軟件開發(fā)),那么克服這種恐懼對你來說是非常重要的。

文章來源丨微信公眾號:讀芯術(shù)
背景—我的經(jīng)歷
我是個優(yōu)等生。我為自己解決問題的能力而自豪,我喜歡數(shù)學(xué)和科學(xué)等學(xué)科。我學(xué)得很快,幾乎不犯錯誤。然而,當(dāng)我高中畢業(yè)后,情況發(fā)生了變化。
編程和高中課堂上教的科目不一樣,唯一的學(xué)習(xí)途徑就是犯錯誤。作為一個不習(xí)慣這樣做的人,我很驚訝自己花了這么長時間才學(xué)會如何編寫代碼。
我犯了太多的錯誤。突然,我不再事事都能做到最好了。我在看似簡單的任務(wù)上苦苦掙扎——甚至只是設(shè)置編程環(huán)境。我開始覺得我不適合編程。
每個人似乎都比我更擅長。我甚至不能在互聯(lián)網(wǎng)上編譯沒有錯誤的代碼,更不用說理解它或編寫自己的程序了。這使我很有挫敗感,我放棄了。而且不止一次。我試著學(xué)習(xí)如何編碼,并且用不同的編程語言在線學(xué)習(xí)了10多次。每次我都覺得自己不夠好,就放棄了。
我面臨的問題不是缺乏信心。恰恰相反,我太自信了。我非常自信,所以當(dāng)事情沒有按我所希望的方式發(fā)生時,我就會感到沮喪并放棄了。
我最大的錯誤是什么?認(rèn)為編程是可以在短時間內(nèi)學(xué)會的東西,而不承認(rèn)有學(xué)習(xí)曲線。如果我理解并接受從零開始學(xué)習(xí)代碼是一件需要努力和耐心的事情,我就可以少受很多挫折和節(jié)省很多時間。
當(dāng)我放棄學(xué)習(xí)代碼的時候,我認(rèn)為世界上有兩種人——一種是天生適合編程的人,另一種不是。事實證明,我是對的。然而,那些天生擅長編程的人并不一定比你聰明。他們只是有一種特定的心態(tài),一種幫助他們在這個領(lǐng)域出類拔萃的心態(tài)。擁有同樣的心態(tài),你將實現(xiàn)目標(biāo)。

如何成為一名好的程序員
首先,你需要承認(rèn)自己并不擅長編程。
你已經(jīng)參加了一兩個在線課程,并學(xué)習(xí)一些編程教程。但是你還不擅長。有些人把他們的一生都奉獻(xiàn)給了這個領(lǐng)域,而你才剛剛開始。
記住,下一次當(dāng)你看到一堆無法理解的復(fù)雜代碼時,不要被別人解決問題的能力所擊敗,也不要被你可能永遠(yuǎn)無法達(dá)到的目標(biāo)的所擊敗,想想他們?yōu)榱诉_(dá)到自己的水平所花費的時間和精力。
如果你想趕上至少他們一半的優(yōu)秀,只需要付出更多的努力。這不是比賽。僅僅因為他們成功地解決了一個你無法解決的復(fù)雜問題而已,并不意味著他們比你聰明。他們比你投入了更多的時間和精力。為了實現(xiàn)目標(biāo),你也需要這樣做。
學(xué)會有耐心
耐心可以說是程序員最重要的性格特征之一。你需要有盯著電腦屏幕看上幾個小時的耐心。一個看似簡單的問題可能需要數(shù)小時,甚至數(shù)天才能解決,你只能坐下來花幾個小時調(diào)試代碼來學(xué)習(xí)。
培養(yǎng)這種耐心真的很難。如果你和我一樣,很容易感到無聊或者注意力持續(xù)時間很短,你需要花很多時間訓(xùn)練自己變得有耐心。
當(dāng)你開始了解盯著電腦屏幕花幾個小時解決問題的這門藝術(shù),你就離成為一名優(yōu)秀程序員的目標(biāo)更近了。

頑強
還記得你小時候,父母不給你買想要的玩具嗎?你吵了好幾個小時,哭了好幾個小時。你拒絕和他們一起離開商店直到他們給你買為止,還引起了一場鬧劇。最后,你父母讓步了。他們放棄了,給你買了玩具。
這正是你學(xué)習(xí)編碼時需要的那種固執(zhí)。每當(dāng)你為不知道如何繼續(xù)操作或者一堆代碼無法運行而感到沮喪時,不要放棄。
堅持下去,表現(xiàn)出你小時候的決心。如果你至少有你童年那時候一半的決心,那么你會成功完成你的目標(biāo)。
恰到好處的自信
過分自信是不好的。過分自信會阻礙你取得進(jìn)步,因為你對自己期望過高。有些人在這方面比你強得多。當(dāng)你看著這些人讀他們的代碼時,自然會感到無能。
取得任何進(jìn)展的第一步是承認(rèn)別人比你更好。他們當(dāng)然是。他們花了比你更多的時間,并且花了數(shù)年時間學(xué)習(xí)如何編寫代碼。如果你想變得更好,你也需要投入時間和精力。
事實上,即使是經(jīng)驗豐富的程序員也知道他們并不擅長編碼。承認(rèn)還有很多東西要學(xué)的能力是每個程序員最重要的特質(zhì)之一。你不可能了解這個領(lǐng)域所包含的一切。

學(xué)習(xí)編碼需要很多努力。你需要有正確的態(tài)度,養(yǎng)成良好的習(xí)慣。你養(yǎng)成的這些習(xí)慣將使你在職業(yè)生涯中走得更遠(yuǎn)——不僅僅是智力、能力或記憶力。為了克服對編程的恐懼,你需要明白有一條學(xué)習(xí)曲線。
把編程想象成一輛自行車。你學(xué)騎自行車的時候會跌倒很多次,但那是唯一的學(xué)習(xí)方法。隨著時間的推移,你會掌握竅門,變得越來越好。你只要有足夠的耐心和毅力,每次跌倒后都能站起來繼續(xù)。

PS:另外對于學(xué)習(xí)編程或者正在工作的朋友,如果你想更好的提升你的編程能力乃至轉(zhuǎn)行,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
