優秀程式設計師的6個共同特質

csdn發表於2013-12-16

  如果你在一家IT公司,與周邊的程式設計師接觸時間越長,對他們的可愛之處瞭解地就越多:或呆或萌,或正派或猥瑣。如果你恰好是一個程式設計師,你會發現身邊優秀的同事也總是有一些共同點。

  原文作者ROYVANRIJN總結了他身邊優秀程式設計師同事擁有的6個共同特質: 

  • 具有好奇心
  • 熱愛分享
  • 具有社群意識
  • 以身為程式設計師而自豪
  • 有點懶
  • 程式碼視覺化

  1. 具有好奇心

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

 

優秀程式設計師的6個共同特質

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

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

  2. 熱愛分享

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

優秀程式設計師的6個共同特質

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

  3. 具有社群意識

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

  • 抱怨,尋找另一個替代軟體
  • 下載原始碼,自己動手打補丁

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

 

優秀程式設計師的6個共同特質

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

  4. 以身為程式設計師而自豪

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

優秀程式設計師的6個共同特質

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

  5. 嗯…有點懶

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

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

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

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

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

  6. 程式碼視覺化

  對於整個程式碼庫,需要在腦子裡面構建一個模型。這就是我們所說的“程式碼視覺化”。 

優秀程式設計師的6個共同特質

  要做到“程式碼視覺化”,首先我們需要了解整個程式碼庫。需要對部分程式碼進行修改或增刪時,需要知道在什麼地方進行查詢。問題出現在什麼地方,應用程式中的物件/例程是怎麼進行的,每個模組之間的關係是怎樣的,這些都需要清楚。 

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

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

  原文: 6 common traits of good programmers

相關文章