做一個優秀的程序員需要這樣

1、養成良好的書寫代碼的習慣,該加註釋的時候一定要加註釋,該大寫的地方一定要大寫,變量命名不能模糊不清。這是基礎,是爲了讓別人能看明白你所寫的代碼,不能你寫的代碼只有你自己纔看的明白。

2、注意所寫軟件的版本控制。

3、勤奮學習最新的技術,計算機技術日新月異,這點我不說相信你也知道。

4、養成寫開發文檔的好習慣,再接到一個項目時,第一件事情是進行需求分析,然後寫開發文檔,把你每一步要做什麼都先寫清楚,再動手做。

5、不要怕技術難題,在計算機領域,只有不能解決難題的人,沒有人解決不了的難題。

6、虛心象他人學習,即使技術實力比你差很多的人,也肯定會知道一些你所不知道的技術點。

第一種武器:開發工具至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成爲開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的“網絡即計算機”的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成爲未來的主流開發工具之一。

其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。

第二種武器:數據庫爲什麼數據庫是如此重要?很多應用程序都是以數據庫的數據爲中心,而數據庫的產品也有不少,其中關係型數據庫仍是主流形式,所以程序員至少熟練掌握一兩種數據庫,對關係型數據庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數據庫產品提供了可視化的數據庫管理工具,但SQL是基礎,是通用的數據庫操作方法。如果沒有機會接觸商業數據庫系統,可以使用免費的數據庫產品是一個不錯的選擇,如mySQL, Postgres等。

第三種武器:操作系統當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成爲一個真正的編程高手,需要深入瞭解操作系統,瞭解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作爲開發源碼的操作系統,是一個很好的學習平臺,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的瞭解後,你會發現自己上了一個新的臺階。

 第四種武器:網絡協議TCP/IP在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網絡技術已改變了軟件運行的模式,從最早的客戶/服務器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧爲基礎的網絡協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。 第五種武器:DCOM/CORBA/XML/WEB Services隨着技術的發展,軟件與網絡的無縫結合是必然趨勢,軟件系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分佈計算的中間件平臺,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規範。程序員需要做的不僅僅是利用商業的開發平臺來開發軟件,而是要理解這些技術的初衷,即爲什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻爲互聯網上的“世界語”,是分佈計算的基石之一。

 第六種武器:軟件工程與CMM現代大型軟件系統的開發中,工程化的開發控制取代個人英雄主義,成爲軟件系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟件工程思想有機結合,編程只是軟件生命週期中的其中一環,優秀的程序員應該掌握軟件開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟件測試等。一句話可以概括我的看法:“創意無限,流程保證”。 第七種武器:強烈的好奇心什麼纔是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峯的源泉和動力所在。一.快樂的語言 這是一種你用來思考的語言。這是一種你希望無時無刻不在使用的語言。這是一種用來編寫自己的項目的語言。對於我來說,它是OCaml (現在還有JavaScript,儘管我正在把CoffeeScript吸收進我的世界裏)。對於很多人來說,它可能是LISP 或 Haskell。當一個人告訴我他的快樂的語言後,我能根據這個看出這個人的身上的很多特點。如果這種語言是一種很深奧的或新的語言,這說明他對編程有熱情。如果這種語言是一種主流語言,這說明他很明智或實用主義。二.高產的 / 強大的語言 這種語言裏應有經驗,包羅萬象。它很成熟,有大量的基礎庫。使用這種語言,它可以在緊要關頭快速的幫助你開發出各種服務或命令行工具。你的指尖敲動幾下,一切事情都搞定。如果一個程序員列出很多這樣的語言,這也許能說明他可以使用所以的這些語言來開發RESTful服務。如果我沒發現他有高產的語言,或者很少,那麼我就會懷疑他要麼缺乏經驗,要麼不夠專業。三.黃油 + 麪包 這種語言是當生活拮据的時候它能讓你賴以生活的語言。這是一種只有當你自己或家人需要你去掙扎奮鬥時才需要的語言。如果一個人沒有掌握一種能夠換取黃油麪包的語言,那他很可能需要接受一些”如何在一個團隊裏有效率的工作“這方面的教育。

發佈了45 篇原創文章 · 獲贊 13 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章