經(jīng)常有人說(shuō)java小白或者java大神,但是這個(gè)怎么區(qū)別呢?
大神是任何功能都能編碼實(shí)現(xiàn),編碼速度快,代碼無(wú)bug。他們能認(rèn)識(shí)到bug是不可避免的,有千萬(wàn)種理由可以導(dǎo)致bug,但他們可以在設(shè)計(jì)和邏輯上保證(追求)滴水不漏,并用邏輯的百分之百準(zhǔn)確性還減少代碼bug。沒(méi)錯(cuò),嚴(yán)謹(jǐn)?shù)倪壿嬆芰κ谴笊駞^(qū)別于菜鳥(niǎo)的主要原因。java菜鳥(niǎo),看到事物的表象而看不到本質(zhì)。
類似于武俠小說(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)題的高度,就是一件事情,難到一定程度,內(nèi)力不夠的話是解決不了的。
菜鳥(niǎo)行為:
1.拿到任務(wù)就開(kāi)始噼里啪啦敲鍵盤,一天寫了好幾千行代碼
2.沒(méi)事兒就被測(cè)試MM叫過(guò)去溝通……
3.都早上10點(diǎn)多了還想著昨晚的球賽,10點(diǎn)半就琢磨中午要吃拉面、扯面、刀削面、牛肉面、旗花面、臊子面、窩窩面還是炒細(xì)面……
4.過(guò)了一陣子,看到自己的代碼,感到很驚奇,認(rèn)為是別人寫的……
大神行為:
1.拿到任務(wù),就開(kāi)始仰望天花板上某處,就被被定住。
2.忽而皺眉,忽而展顏一笑,忽而手舞足蹈,忽而在紙上指指戳戳,忽而口中念念有詞,忽而長(zhǎng)吁……感覺(jué)有點(diǎn)神經(jīng)病啊
3.桌子上擺的是代碼大全、設(shè)計(jì)模式、敏捷實(shí)踐之類的書籍,并且沒(méi)有灰塵
4.chrome或firefox的書簽欄里分門別類,類別多于10個(gè),8個(gè)以上是技術(shù)相關(guān)的
5.容不得破窗戶,看見(jiàn)別人的爛代碼就想改過(guò)來(lái)
6.隨手就能在白板上畫出軟件的流程圖或者時(shí)序圖
另外再提兩點(diǎn)建議
1、去研究你不懂的代碼。一般人都不愿意去研究自己不曾接觸過(guò)的代碼,很多人都沒(méi)有嘗試就放棄了。如果你經(jīng)常去研究你沒(méi)有接觸過(guò)的代碼,你就會(huì)越來(lái)越熟悉不同的代碼結(jié)構(gòu)和設(shè)計(jì)模式?,F(xiàn)在人們很容易就接觸到出色的開(kāi)源代碼資源,你可以很方便的就下載下來(lái)做一些改動(dòng)或者調(diào)試,去研究為什么代碼可以這么寫。
2、精通代碼調(diào)試的bug。很多人在寫代碼的過(guò)程中,經(jīng)常會(huì)有這樣一個(gè)問(wèn)題:為什么我寫出來(lái)的代碼不能運(yùn)行?為什么運(yùn)行的結(jié)果不是我想要的?幾乎所有的程序員寫代碼都不是一遍就能寫好的。但是大神非常快的就明白自己代碼的問(wèn)題可能是什么。這是一個(gè)很重要的能力,但是偏偏學(xué)校里不教,面試的時(shí)候考官也不經(jīng)常提及。
任何一個(gè)領(lǐng)域,唯有不斷學(xué)習(xí),才能從菜鳥(niǎo)進(jìn)階成大神,很多小白會(huì)選擇去java培訓(xùn)機(jī)構(gòu)學(xué)習(xí),有大神老師帶,有系統(tǒng)規(guī)范的課程,能夠深入淺出學(xué)到有用的知識(shí),還能實(shí)操項(xiàng)目學(xué)習(xí),對(duì)個(gè)人發(fā)展有很大幫助。希望有一天你也能成為人人仰望的java大神!