優秀程序員的6個共同特質

發表于:2013-12-25來源:ITEYE作者:tuhaihe點擊數: 標簽:程序員
優秀程序員的6個共同特質 如果你在一家IT公司,與周邊的程序員接觸時間越長,對他們的可愛之處了解地就越多:或呆或萌,或正派或猥瑣。如果你恰好是一個程序員,你會發現身邊優秀的同事也總是有一些共同點。原文作者ROYVANRIJN總結了他身邊優秀程序員同事擁有的6個共同

  如果你在一家IT公司,與周邊的程序員接觸時間越長,對他們的可愛之處了解地就越多:或呆或萌,或正派或猥瑣。如果你恰好是一個程序員,你會發現身邊優秀的同事也總是有一些共同點。原文作者ROYVANRIJN總結了他身邊優秀程序員同事擁有的6個共同特質:

  具有好奇心

  熱愛分享

  具有社區意識

  以身為程序員而自豪

  有點懶

  代碼可視化

  1. 具有好奇心

  他們總是保持一顆好奇心,凡是遇到問題,首先就是:Google!沒有Google就沒有發言權。然后,會在StackOverflow上查找相關問題、瀏覽郵件列表、閱讀在線文檔等等。

  這聽起來理所當然,但是部分人卻是先問自己身邊的同事。原作者認為,這個習慣不太好:Google檢索到的信息遠比你周圍同事了解的多,沒必要放著這么好的資源不用,在你緊張工作的同事身上費功夫。

  當然,大多數時候第一次在Google搜索問題,可能沒有自己想要的結果,不過不要放棄!繼續搜索,嘗試使用不同的關鍵詞,或者直接閱讀源碼。如果上面都沒有結果,那就在郵件列表、新聞組等社區提問。

  2. 熱愛分享

  一旦找到解決自己問題的方法,然后就到此為止,然后就沒有然后了?No!一名優秀程序員不能這樣做。在地球上正有一群程序員遭遇和你一樣的問題,他們也正在嘗試解決。

  理理自己的思路,寫成博客記錄下來:遇到了哪些坑兒,如何避免這些坑兒。在你曾經搜索過該問題的地方,如果問題還沒有解決,就幫助回答,貼出自己的方案,接受后來者的膜拜。當然,你可能會“自問自答”,這樣就準備接受后來者的鄙視吧。

  3. 具有社區意識

  如果在使用某個開源軟件的時候遇到了Bug,你會怎么辦?一般會有2個反應:

  抱怨,尋找另一個替代軟件

  下載源碼,自己動手打補丁

  上面2個方式都不太明智。開源社區之所以成為社區,就是因為是大家自愿地來修復問題,很明顯第一個方式不太合適。那第二個方式為何不妥?我們不鼓勵直接下載源碼來打補丁,應該首先聯系該軟件的維護者。一個著名的例子就是,Linus Torvalds曾拒絕合并一段可以大幅提升Linux內核速度的代碼,只是因為該段代碼的作者獨自工作了6個月之久。記住,首先與社區一塊討論你的改進,然后大家一起來做!

  有句俏皮話是這么說的:開源項目沒死掉,是因為還沒人來修復你的Bug;因為沒人修復你的Bug,所以這個開源項目死掉了。

  4. 以身為程序員而自豪

  優秀的程序員都以作為程序員而感到自豪。一旦你完成了某項功能,你會迫不及待地將成果展示給客戶、麻利利地實現客戶的想法。

  如果發現自己的代碼里面可能存在問題時,怎么辦?可能會“自大”,因為是自己寫的,就覺得代碼審核沒有必要;或者有問題也非要自己完成,而不是協作解決。優秀的程序員,應該學會與團隊分享,時刻保持激情,但不僅僅是為了自己,而是為了團隊、產品和項目。

  5. 嗯…有點懶

  幾乎全部職業的優秀員工都很勤奮、工作努力,不過程序員例外,那些優秀出色的程序員都有點懶。這可能是唯一把懶惰當做優秀品質來對待的職業(測試人員可以除外)。

  也許可以說明這一優秀特質的最知名的例子就是“計算機第一夫人”Grace Hopper在1952年發明了編譯器。她解釋說,做出編譯器就是因為自己很懶,并且希望程序員都能夠成為一個數學家。

  如果一個程序員被要求定期完成某事,他/她會堅持想出一個辦法來避免這樣做。“一次編寫,到處運行。”如果客戶總是談論令人厭煩的重復性的工作,優秀的程序員總會嘗試著將這個工作自動化。

  比爾蓋茨也講到“我總是會選擇一個懶人去完成一份困難的工作。因為,他會找到捷徑”。

  程序員們,擁抱“懶惰”吧,將重復性的工作自動化,不要重復自己!提示:懶人們應該快速學會快捷鍵喲~這也是優秀程序員應該做的!!

  6. 代碼可視化

  對于整個代碼庫,需要在腦子里面構建一個模型。這就是我們所說的“代碼可視化”。

  要做到“代碼可視化”,首先我們需要了解整個代碼庫。需要對部分代碼進行修改或增刪時,需要知道在什么地方進行查找。問題出現在什么地方,應用程序中的對象/例程是怎么進行的,每個模塊之間的關系是怎樣的,這些都需要清楚。

  其次,需要了解正在工作的代碼環境。大部分情況下,我們會在多個文件中來回切換,優秀程序員會明白自己當前所處的環境,不會覺得暈頭轉向。只要一看代碼框架和結構,就可以快速找到自己需要的源文件。當然,這需要對整個代碼做到了然于胸。

  不過,程序猿和程序媛在代碼可視化方面的能力是由有差別的,據目前研究,貌似IDE中的導航功能更對程序猿有利。

原文轉自:http://www.iteye.com/news/28575-6-traits-of-good-programmers

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97