⑴ 請問,如何才能做一個優秀的程序員
1、養成良好的書寫代碼的習慣,該加註釋的時候一定要加註釋,該大寫的地方一定要大寫,變數命名不能模糊不清。這是基礎,是為了讓別人能看明白你所寫的代碼,不能你寫的代碼只有你自己才看的明白。
2、注意所寫軟體的版本控制。
3、勤奮學習最新的技術,計算機技術日新月異,這點我不說相信你也知道。
4、養成寫開發文檔的好習慣,再接到一個項目時,第一件事情是進行需求分析,然後寫開發文檔,把你每一步要做什麼都先寫清楚,再動手做。
5、不要怕技術難題,在計算機領域,只有不能解決難題的人,沒有人解決不了的難題。
6、虛心象他人學習,即使技術實力比你差很多的人,也肯定會知道一些你所不知道的技術點。
第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C和JAVA是我重點推薦的開發工具,C/C以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的「網路即計算機」的概念相當欣賞,並相信JAVA即其相關的技術集JAVAOne會成為未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
第二種武器:資料庫
為什麼資料庫是如此重要?很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會中慶塌接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
第三種武器:操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機差慧制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
第四種武器:網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
第五種武器:DCOM/CORBA/XML/WEBServices
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間件平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
第六種武器:軟體工程與CMM
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色賣圓的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
第七種武器:強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
⑵ 為了寫好代碼,你堅持了哪些好習慣
我本人的本科專業就是軟體工程,作為開發人員,一開始學習的時候就養成編碼的好習慣真的可以省下很多時間成本,可以讓寫的代碼更加容易理解、更加容易擴展,也可以具有更強的通用性。
那麼我堅持了哪些好習慣呢?
多閱讀優秀的代碼
有空的時候多看看一些優秀的開源框架的代碼,不要求研究透徹,只要能學習到其中的一些優秀的設計理念就可以了,可以通過打斷點調試的方式去看源碼。
多看看官方文檔,它一定是最准確、最實時的資料。編寫官方文檔的人,也通常就是這些技術或者軟體的開發者,他們是對這些東西最了解的人,所以編寫的文檔不僅質量非常高,通常內容也都是最新的。
編程的好習慣真的要從一開始就要養成,即使不是開源代碼也要認真對待,在持續的練習過程中養成編程的好習慣。
⑶ 一個優秀的計算機系學生應該有哪些好習慣
作為一個優秀的計算機系學生在學習編程之前,我覺得什麼編程語言、數據結構、演算法、操作系統這些都要統統一邊去。
作為計算機專業的學生一定要首先養成下面幾個程序員必備的好習慣。
1,程序員必備的好習慣使用 Google 搜索而不是網路。如果你實在訪問不了 Google 的話,替換成 Bing 也行。經常逛一些比較不錯的博客論壇比如國內的掘金、博客園、CSDN,學有餘力的小夥伴還可以去 GitHub、碼雲上找一些開源項目,用來訓練自己的開發能力。
2,多關注一些你的領域的一些大牛在幹嘛,多關注一些優質原創博主的博客。編程不只是要看,更要動手,這是一個特別需要實踐的專業。各個高校在編程課上可能會介紹自己校內的 oj(online judge),題庫式的網站,可以做一些編程題目,還可以在線評測。一般適合初學者的簡單的 OJ 校內都會提供,如果沒有的話,可以去校外找一些開放的簡單的 OJ 來刷題。不要因為剛開始學習編程的不容易,而打擊自己的學習興趣和慾望。
3,編程語言!編程語言幾乎所有的大學剛入學第一年就會開設一門編程語言課,一般是 C 語言偏多。不論你的學校是否開設了 C 語言這門課,我建議大家最好還是學一下 C 語言。 拿我從事的 Java 後端開發來說,很多 Java 從業者單純覺把 Java 學好就完全足夠了,並不需要再學習像 C、C++這種稍微更難一點的編程語言。我覺得對於剛能寫好 CRUD 的 Java 程序員來說確實是這樣的,但是對於想要成為比較頂尖的 Java 程序員來說肯定是不行的。很多開源項目都調用了 C 語言庫,所以, 作為 Java 程序員,不需要你 C 編碼能力多強,至少能夠看懂 C 代碼。
⑷ 一個優秀的程序員需要養成哪些良好的習慣
1. 理解編程語言的原理,遵循編程規范,並且能夠寫出有效的代碼,並學會優化代碼。
2. 估算解決問題所需要的時間,為自己定一個時間限制,加強程序自測試。
3. 做好版本控制,並及時備份代碼,經常檢查代碼,還要回顧以前寫過的代碼,看看能不能有新想法。
4. 動手編碼之前,先做好分析和設計。
5. 對項目文件歸類保存。可以把項目文件放到SOURCE、HEADERS、MAKE、EXES等不同的文件夾中。
6. 制定驗收規則,優秀出色的程序一定會編寫技術測試腳本,因為他們清楚要是省略了這一步會嚴重後果。
7. 重視,但不過於注重程序的設計模式。
8. 養成耐心、冷靜的好習慣,多向優秀的程序員學習。