全國(guó)咨詢熱線:400-009-1906

首頁(yè)>學(xué)員故事>低級(jí)程序員和高級(jí)程序員的區(qū)別在哪?學(xué)會(huì)像高級(jí)程序員一樣思考!

低級(jí)程序員和高級(jí)程序員的區(qū)別在哪?學(xué)會(huì)像高級(jí)程序員一樣思考!

來(lái)源:尚學(xué)堂      閱讀數(shù):6210

低級(jí)程序員認(rèn)為自己與高級(jí)程序員的區(qū)別:高級(jí)程序員任何功能都能編碼實(shí)現(xiàn), 編碼速度快, 代碼無(wú) bug。

正如一慣的那樣, 低級(jí)程序員之所以低級(jí), 正是因?yàn)樗麄兠銖?qiáng)能看到(或者根本看不到)事物的表象而看不到本質(zhì)。

我們來(lái)聽(tīng)聽(tīng)高級(jí)程序認(rèn)為自己與低級(jí)程序員的區(qū)別是什么。

高級(jí)程序員之所以高級(jí), 在于他們認(rèn)識(shí)到代碼 bug 是不可避免的, 有千萬(wàn)種理由可以導(dǎo)致 bug, 但他們可以在設(shè)計(jì)和邏輯上保證(追求)滴水不漏, 并用邏輯的百分之百準(zhǔn)確性來(lái)減少代碼 bug。 沒(méi)錯(cuò),嚴(yán)謹(jǐn)?shù)倪壿嬆芰κ歉呒?jí)程序員區(qū)別于低級(jí)程序員的最主要原因。

類(lèi)似于武俠小說(shuō)中的武術(shù)一樣,程序員也分內(nèi)功和招式。

招式就是各種編程技巧和編程概念(框架,架構(gòu)等),通過(guò)經(jīng)驗(yàn)可以不斷習(xí)得。而內(nèi)功就是數(shù)據(jù)結(jié)構(gòu) + 算法了,招式可以決定你干活的速度,而且絕大多數(shù)情況下,不需要深厚的內(nèi)力(知道加減乘除就行)。而內(nèi)功可以決定你解決問(wèn)題的高度,就是說(shuō)一件事情難到一定程度,內(nèi)力不夠的話是解決不了的。

優(yōu)秀程序員的行為:

拿到任務(wù),就開(kāi)始仰望星空或天花板上那盞高懸的電燈棒,狀如老僧入定

忽而皺眉,忽而展顏一笑,忽而手舞足蹈,忽而在紙上指指戳戳,忽而口中念念有詞,忽而長(zhǎng)吁……感覺(jué)有點(diǎn)神經(jīng)病啊

桌子上擺的是代碼大全、設(shè)計(jì)模式、敏捷實(shí)踐之類(lèi)的書(shū)籍,并且沒(méi)有灰塵

chrome或firefox的書(shū)簽欄里分門(mén)別類(lèi),類(lèi)別多于10個(gè),8個(gè)以上是技術(shù)相關(guān)的

容不得破窗戶,看見(jiàn)別人的爛代碼就想改過(guò)來(lái)

隨手就能在白板上畫(huà)出軟件的流程圖或者時(shí)序圖……

普通程序員的行為:

拿到任務(wù)就開(kāi)始噼里啪啦敲鍵盤(pán),一天寫(xiě)了好幾千行代碼

沒(méi)事兒就被測(cè)試MM叫過(guò)去溝通……

都早上10點(diǎn)多了還想著昨晚的球賽,10點(diǎn)半就琢磨中午要吃拉面、扯面、刀削面、牛肉面、旗花面、臊子面、窩窩面還是炒細(xì)面……

過(guò)了一陣子,看到自己的代碼,感到很驚奇,認(rèn)為是別人寫(xiě)的……

低級(jí)程序員成為高級(jí)程序員在于他做到了:

1、勇于去研究你不懂的代碼

一般人都不愿意去研究自己不曾接觸過(guò)的代碼,很多人都沒(méi)有嘗試就放棄了。如果你經(jīng)常去研究你沒(méi)有接觸過(guò)的代碼,你就會(huì)越來(lái)越熟悉不同的代碼結(jié)構(gòu)和設(shè)計(jì)模式。現(xiàn)在人們很容易就接觸到優(yōu)秀的開(kāi)源代碼資源,你可以很方便的就下載下來(lái)做一些改動(dòng)或者調(diào)試,去研究為什么代碼可以這么寫(xiě)。

除了代碼之外,很多人對(duì)于陌生的工作內(nèi)容也會(huì)感到恐懼。每次換工作的時(shí)候,你可能都會(huì)遇到新公司的工作內(nèi)容和以前工作的內(nèi)容不一樣的情況,以至于剛開(kāi)始的時(shí)候工作效率沒(méi)有以前那么高。很多人甚至覺(jué)得,他們是不是騙了面試官。

2、精通代碼調(diào)試(debug)

很多人在寫(xiě)代碼的過(guò)程中,經(jīng)常會(huì)有的一個(gè)問(wèn)題就是:為什么我寫(xiě)出來(lái)的代碼不能運(yùn)行?為什么運(yùn)行的結(jié)果不是我想要的?

幾乎所有的程序員寫(xiě)代碼都不是一遍就能寫(xiě)好的。但是頂尖的程序員非??斓木兔靼鬃约捍a的問(wèn)題可能是什么。這是一個(gè)很重要的能力,但是偏偏學(xué)校里不教,面試的時(shí)候考官也不經(jīng)常提及。

3、程序員是一種職業(yè),而黑客是一種興趣。

4、程序員的工作有很多限制,而黑客可以盡情發(fā)揮。

5、程序員都想把自己說(shuō)得更好,因?yàn)樗麄円其N(xiāo)自己,而真正的黑客更謙虛,他們知道自己懂得還不夠多。

6、程序員是一種“職責(zé)”,需要的是對(duì)編程語(yǔ)言的使用,更希望盡快完成工作,而不是探尋為什么要做這項(xiàng)工作。

黑客是一種“心態(tài)”,對(duì)技術(shù)有著極大的好奇,希望理解核心的工作原理,喜歡創(chuàng)造。嘗試?yán)斫馊绾喂ぷ?,如何做得更好,如何讓事情做得特別。黑客就像藝術(shù)家或哲學(xué)家,同時(shí)有著科學(xué)工程的天賦,有很多“為什么”和“為什么不”。

7、程序員和黑客,就如同畫(huà)匠和藝術(shù)家,工匠和DIYer,教科書(shū)的方式和創(chuàng)新的方式。

8、程序員的目標(biāo)是寫(xiě)出程序,完成需求,而黑客是要讓程序?yàn)樽约憾?,滿足自身需求。

9、程序員和黑客都在寫(xiě)代碼,只是黑客把不可能變?yōu)榱丝赡堋?/span>

 

帶你認(rèn)識(shí)百戰(zhàn)程序員

尚學(xué)堂百戰(zhàn)程序員是在線教育的高端IT品牌,為自學(xué)者提供一個(gè)隨時(shí)隨地輕松學(xué)習(xí)編程的在線學(xué)習(xí)平臺(tái)。所有視頻均源自百戰(zhàn)程序員各專(zhuān)業(yè)講師真實(shí)授課內(nèi)容,由課程研發(fā)團(tuán)隊(duì)精心加工、打磨,保證每一位學(xué)員學(xué)到真正優(yōu)質(zhì)、高質(zhì)量的體系化課程 ,輕松實(shí)現(xiàn)高薪夢(mèng)想。線上十大課程,只為打造中高端的全棧工程師,給自己一個(gè)實(shí)現(xiàn)夢(mèng)想的機(jī)會(huì),給我們一個(gè)主力你的機(jī)會(huì)。

 

關(guān)注我們