攻城獅就是工程師,在互聯網時代,對電腦程序員的一種調侃,對碼農一種自嘲。
電腦程序員(碼農)
程序員,俗稱碼農,是專門從事電腦程序開發,維護的專業人員。在我天朝,要成為一個具有中國特色的合格程序員,應該具有以下一些素質。
團隊精神(TeamWork)
現代商業社會,各行各業都需要團隊精神,而團隊精神是一個程序員必備的最最基本的素質。隨着如今,軟件,規模越來越大,軟件開發不再是編程,而是工程。像求伯君那樣特立獨行寫出的wps時代,已經一去不復返。於是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。
文檔習慣
沒有文字,沒有書籍,人類燦爛輝煌的歷史無法傳承。同樣,沒有文檔,一個軟件系統就失去本身生命力。文檔就是一個軟件系統的生命力。一個公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟件作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。
規范化代碼編寫
好的軟件公司的代碼的變量命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,這不是一名合格的程序員。
需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟件的功能需求,還應注意軟件的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有着兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
模塊化思維能力
作為一個優秀的程序員,他的思想不能在局限當前的工作任務里面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
測試習慣
測試是軟件工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。對於測試,請看我的文章《戰斗bug技巧全攻略》。程序員有個424原則,40%時間用於設計,20%時間用於編碼,40%時間用於測試。可見,測試對於程序員是何種重要。
學習和總結能力
程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟件設計師、系統分析員、項目經理。