合格程序員應該具備的12種能力[1]

學識都 人氣:2.51W

畢業四年來,感覺自己也是從一名不合格的程序員一步步走過來的。回頭反思一下,合格的程序員有很多標準和要求,下面是我總結的一個合格程序員應該具備的12種能力。中國軟件行業的崛起,靠的是合格的程序員。任何華麗的管理制度都不能保證軟件項目的'成功交付,合格的程序員就是有力的保證,是項目成功的基礎。寫下這些,是爲了給剛剛進入程序員這個職業的新同學們一點參考。我一直以爲,當程序員是很辛苦的,如果不是真正的喜歡,很難堅持下去。如果真的不喜歡這個職業,也該尊重這個職業,尊重自己,趕緊改行。

合格程序員應該具備的12種能力[1]

1. 編程語言能力

不用多說,作爲合格的程序員,精通一門語言是必須的。這種精通,不是說看了一本《24小時精通XXX》,抄了幾個程序就能說精通的,要靠長時間的積累和浸淫。

2.編碼能力

我曾經看多很多程序員寫的代碼,在同一個jsp或者java源文件裏,出現了三種以上的對方法的命名方式,有下劃線間隔的,有全大寫的,有拼音首字母的。就像一個菜市場,雜亂無比,估計10天后,他自己都無法看的懂。遵守編碼規範,是一個程序員最基本的要求,可悲的是,很多程序員根本沒有意識到這個問題的嚴重性。隨意堆砌網上搜來的代碼,根本不管可讀性和可維護性,只要能實現功能就行了,心想做完這個項目,就拍拍屁股走人了,缺少最基本的職責素養。我經常把代碼必須成程序員的孩子,你就是是孩子他爹,孩子他媽,是有感情的。對你自己的孩子,你能不仔細呵護嗎?你是稱職的父母嗎?

另外一個就是註釋,要注意不是爲了註釋而註釋。對類,以說明職責爲主;對方法,以說明意圖爲主;對方法體,以說明實現思路爲主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內註釋進行說明。

思維的條理性,寫代碼之前,先簡單計劃一下,用自然語言把流程寫下來,用於整理實現思路。不要看了需求或設計之後,馬上就敲代碼了,敲完代碼馬上就debug。花點時間思考,敲代碼只是最後一個很簡單的工作,不要把自己變成一個代碼打字員,編寫邊想,寫了刪,刪了寫。安安靜靜把實現過程想清楚,在腦子裏先實現一遍。再去敲代碼,水到渠成。

3.面向對象思維能力

如今,多數編程語言都是面向對象的編程語言。而這些面向對象的編程語言的共同的精髓就是面向對象的思想。掌握這些比面嚮對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,接口隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。我面試過很多程序員,沒有一個能說得上幾句的。