有人說,評判一個程序員是否優(yōu)秀,主要看他的技術(shù)是否高超。其實,這種評判是錯誤的,程序員的價值絕對不在于技術(shù)本身,而在于做出好用且好看程序的能力。但歸根結(jié)底,高手程序猿和菜鳥程序猿之間還是有非常大的區(qū)別的,現(xiàn)在我們就來看看他們的區(qū)別到底在哪?
01 命名
從程序代碼的命名,我們就可以看出一個人的水平。最差的命名就是使用中文、拼音、拼音縮寫、中英混搭,接下來要么是模仿式命名,要么干脆就隨意命名。
模仿式命名典型的就是"××DAL",說實話,小編覺得類似于"UserDAL"這樣的名字,一般就是典型分層架構(gòu)的模仿者,這也說明他是有些經(jīng)驗的人了。
隨意命名,就是寫代碼的時候,名字壓根就沒有意義,比如var list = new List,其實完全可以寫成var users = new List的。想要命名的更有意義,你只需要將每一個類、每一個方法、每一個單詞的名字都用你開發(fā)時的意思直接描述出來就行了。
02 "菜鳥"背后的答案
通過這一個問題的對比,我們可以發(fā)現(xiàn)有些程序猿為什么成為"菜鳥",這是因為他們沒有思考,沒有去仔細(xì)研究找到其中的規(guī)律,找到問題的本質(zhì)。本來想建立自己的思維程序,自己沒有這個意識,所以自己就一直停留在"菜鳥"的水平上去。
"大神"程序員那樣做通過認(rèn)識幾個重要的知識點,就把這個問題就解決了,所以技術(shù)對于他們來說,沒有任何難度而言,因為他們經(jīng)過了不斷的思考,所以程序猿們應(yīng)該認(rèn)清"菜鳥"和"大神"之間的差距在哪里?因為這個問題決定了程序猿解決問題的態(tài)度,決定著程序猿的人生價值。
在程序員當(dāng)中,為什么人家能整八千一萬而自己卻只能掙四五千,這就是根本原因:思考,解決問題的能力!
03 積極的心態(tài)
技術(shù)好的人,一般人都壞不到哪去。很簡單的一句話,想要技術(shù)好,就要投入時間,有時間投入到技術(shù),那么就沒有時間投入到其它方面,特別是消極的坑蒙拐騙,因此,技術(shù)人員一般也都比較靠譜。積極的心態(tài),不僅僅對于技術(shù),對于生活也是如此。一旦有了積極的心態(tài),那么菜鳥到高手的過程,僅僅是時間的問題!
04 多做有意義的事情
有的人每天時間浪費在跟問題本身無關(guān)的事情上,比如要設(shè)計架構(gòu)的時候還要考慮架構(gòu)圖怎么畫,寫完代碼還要反復(fù)部署測試好幾輪才pass,查bug的時候把時間浪費在掃日志上。人的精力總是有限的,把時間浪費在這些事情上面,讓自己提高的時間就變得少了。
05 練習(xí),更多的練習(xí)
這里有個誤區(qū):"做有意義的事情"不等于"只做自己沒做過的事情"。對于程序員來說,寫代碼是基本功中的基本功,編碼的規(guī)范、設(shè)計的權(quán)衡、甚至順手的IDE快捷鍵都要靠平日的試錯和積累,很難通過幾本書或者幾天培訓(xùn)領(lǐng)悟到。
曾經(jīng)目睹一些人寫代碼一年之后開始做一些小項目的設(shè)計,然后就迫不及待的把重心全都轉(zhuǎn)移到設(shè)計甚至架構(gòu)上,這種沒有基礎(chǔ)能力支撐做出的設(shè)計和架構(gòu)最多只能算是高級意淫,大多沒等落地就荒廢了,意義不大。究其原因,大多是設(shè)計出來的東西"不好做"或者"不好用",就像是只看過一遍課本就去參加高數(shù)考試,現(xiàn)實嗎?
06 善用工具
工具能解決的事情就用工具去解決,好的工具能節(jié)約大把的時間用在更有意義的事情上。工具的范疇很廣,比如linux的各種命令、比如團隊內(nèi)部的各種系統(tǒng)、比如順手的應(yīng)用、甚至包括上下班騎的自行車。只要能節(jié)約時間、提高效率,那就值得一試。
07 "菜鳥"轉(zhuǎn)變"大神"之思
菜鳥們(小編自己也是),該醒醒了,如何適應(yīng)企業(yè),如何適應(yīng)將來的發(fā)展,如何生存是每個程序員必須面臨的問題。小編知道想當(dāng)管理者的程序員很多,但是別忘了,從事軟件業(yè)是從程序員一步步做起來的,連做好程序員的底子都沒有,那要如何受到同事的尊重,領(lǐng)導(dǎo)的重視,這個問題離很近了,程序猿們現(xiàn)在應(yīng)該轉(zhuǎn)變觀念,加強學(xué)習(xí)的觀念,適應(yīng)企業(yè)的觀念。
最后分享一下關(guān)于小編理解的程序員的自我修養(yǎng),在小編看來,可以總結(jié)為:負(fù)責(zé)任,重名聲。負(fù)責(zé)任,說的更具體些:寫的代碼自己有沒有測過、做的框架自己有沒有用過、設(shè)計的架構(gòu)自己有沒有認(rèn)真權(quán)衡過。重名聲,說的直接些:沒有測過的代碼、沒有用過的框架、沒有權(quán)衡過的方案有沒有臉交付給別人。