當前位置:學問君>人在職場>就業指導>

優秀程序員應該具備哪些素質[2]

學問君 人氣:8.87K

六、面向對象

優秀程序員應該具備哪些素質[2]

很多人都是從面向過程思維方式開始學習編程的,隨後也學了面向對象編程方法,也用了面向對象開發工具和語言,但是,真正的用面向對象方法來編程、來設計編程構架、來進行功能分析、來需求分析還是很少的。優秀的程序員一定具備面向對象的思維方式,從設計到編程都貫徹着面向對象的痕跡,他們把面向對象作爲思維的日常化。具有面向對象思維方式的人,可以對複雜混亂的事物進行抽象,具有很強的分類能力,化繁爲簡,程序更加模組化,程序共享度更加提高,具有大程序、超大程序開發能力。有關面向對象的問題,我在前面的文章中已經闡述很多了,這裏就不在重複了。

七、基礎紮實

要想自己編程能力有一個持續的提高,我們就必須要注重自己的基礎建設,讓自己能力的提高都建築在每一層的堅實基礎之上,即使能力再高,也不會被風吹得搖晃,盡顯強者的剛毅不摧。我們不要小看已經學過的操作系統原理、編譯原理、程序設計原理、數據庫設計、數據結構設計、甚至計算機英語。這些基礎是否紮實直接影響到以後的各種應用技術的掌握和掌握的程度。而大多數新的技術都是在原有技術的發展,因此掌握好原有的技術對最快掌握新技術是有很大的幫助的。此外,紮實的基礎也使程序員把精力放在創新和解決疑難問題上,這樣優秀程序員的處理能力將會大大增強。

八、條理清楚

普通的程序員則不太注重條理問題,他們對可並行處理的語句從來不進行次序的考慮;對語句使用沒有一致性地使用,顯得很隨意;對處理流程往往一氣呵成,一個函數能有上百上千條語句。他們最大的特點就是從來不多問一個爲什麼!而優秀程序員更注重程序條理,每個語句、語句的先後、語句的行數、函數命名等等他們都能說出爲什麼這樣做。這種條理清楚地素質使得程序員能夠把控程序的製作時間進度,也有利於大程序的任務的分隔。大凡程序員編寫的程序能被其他人看懂的,基本上都是條理很清楚的。程序有條理,說明程序員的思維很有邏輯性,優秀程序員是最講究邏輯的。一個優秀的程序員能把一個龐大複雜的程序說的有條有理,並且在程序上也顯得可讀性極強。條理清楚地表現形式之一,就是程序函數多,函數中的語句少。從這個意義上來說,優秀程序員也是優秀的設計師,項目經理。因爲他們的邏輯是一脈相承的。

 

九、全面細緻

我這裏說的`全面有五個方面的含義:第一、程序員要在編程過程中要全面細緻,不要有遺漏,而這些遺漏往往造成了編譯錯誤,需要花費大量不必要的時間去查改。第二,程序員要在設計過程中要全面細緻,不要在功能設計方面有遺漏,尤其不要忘記例外情況的處理,許多功能上執行出錯都是這種原因造成的。第三、程序員的編程技術要全面,要儘可能多掌握各種編成技術,例如,程序員不但要掌握前臺開發技術,也要掌握後臺開發技術,既要會檔案處理,也要會數據庫處理,既要會編寫程序也要會製作安裝盤,等等。第四、程序員的業務知識要全面,程序員不但要掌握編程技術,而且要主動學習和掌握用戶的業務知識,透過對業務知識的掌握,才能更好地理解功能的意義,有助於編寫更使用的程序。第五,程序員的知識面要廣。優秀的程序員不但要掌握編程知識和用戶業務知識,而且要有意識地拓寬自己的知識面,多關心新聞、時事、時尚、經濟、技術、文藝、文學等各種知識領域,在知識的海洋中去暢遊工作的軌跡,你就會有萬事相同的感覺,這些知識會潛移默化地影響你編程的風格和效率。

十、求新求精

IT發展之迅速、技術更新之快捷,使得IT成爲公認的追逐潮流的行業,因循守舊,固步自封,甚至年齡的增長都會導致程序員被這個行業所淘汰。有時候嘆息行業無情也是情理之中。面對潮流的挑戰,優秀程序員應該是無所畏懼的,他們應該始終懷有一種追求新技術的願望,有一種追趕潮流,伴隨潮流的勇氣和膽識。因爲這個職業就註定了這樣的工作方式。當然,在新技術滿天飛的情況下,我們不能也不可能有什麼新技術就去學什麼新技術,我們可以花很少的時間去瀏覽和關注各種技術的發展狀況,但是對於自己所要掌握的新技術則要不惜代價,花大力氣去學習它掌握它。掌握新技術的價值評判是用於軟件的開發,用於更好地解決以往程序中存在不可解決的問題,用於所開發軟件的銷售價值。優秀的程序員會很好的選擇新技術,並利用新技術立即去革新自己的程序,並使程序投向市場產生價值。那種以學習、知識儲存的態度對待新技術都是不成熟的程序員。

我們常以新爲炫耀,但是我們更以精爲實力。優秀的程序員不但要求新,更要求精,使得自己在編程的某個方面成爲專家和高手,讓普通的程序員敬仰。例如,精通客戶的業務知識、精通程序構架、精通某種語言、精通數據庫、精通模組化設計、精通三層結構、精通介面設計、精通接口程序、精通安裝盤製作、精通等等。程序員可以精通的領域和內容是非常之多的,關鍵是程序員對自己的要求。很多程序員滿足於會,而不追求於精,使得自己變成什麼都懂,什麼都不精的,任何人都能取代的普通程序員。這樣的程序員怎麼能可能獲得更高的報酬,又怎麼可能變成優秀呢。