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