導航:首頁 > 軟體知識 > 如何成為一個優秀的程序員知乎

如何成為一個優秀的程序員知乎

發布時間:2023-07-08 18:10:10

『壹』 請問,如何才能做一個優秀的程序員

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,問題分解

編程很大程度上是來解決問題,但是寫代碼之前,程序員需要弄清楚如何解決這些問題。一個優秀的程序員會嘗試把這些問題進行拆分,然後一部分一部分去開發,直到每個部分都可以很容易的解決。但是僅僅做到這些還不夠,一個優秀的程序員會發明一種工作模式,利用現有的標准化邏輯去開發,便於實現和測試。一些很復雜的程序,復雜部分的原因是代碼實施不能完美的解決問題,而且代碼難以理解。


當遇到難題建模,曾經采訪優秀的開發者:「很少有程序是不能修改的,但是如果你看一段代碼,它往往看起來很復雜,很多人覺得無從下手,他們往往這是缺乏思考的一種表現,而我會捲起袖子試圖修復它,慢慢的其實這些都不算困難,而且很容易。」

2,情景分析

好的開發人員有能力考慮許多不同的場景。這既適用於程序中的邏輯,以及內部和外部事件可能發生。考慮不同的路徑的邏輯,他們會問這樣的問題:如果這個論點是零?如果這些條件是真的嗎?這是線程安全讓悶的方法嗎?發現軟體需要處理什麼類型的事件,他們會問這樣的問題:如果這個隊列變得滿了嗎?如果沒有響應這個請求嗎?如果正滑悔其他伺服器重啟,這個伺服器重新啟動嗎?

優秀的程序員會問自己:「這怎麼能算結束呢?」說明他們還想測試自己的能力,相比之下,沒有經驗的程序員大多隻考慮自己,能夠暫時解決問題就行,當然大部分不可避免的意外情況發生,他們都有方法解決。

3,所示命名

編程在很大程度上由命名的事情:類、方法和變數。如果做得好,程序變得很大程度上是在自我記錄,這意味著程序的功能是非常清楚的執行源代碼。自我記錄的代碼的一個作用是,它自然會導致許多較小的差錯,而不是幾個很大的功能缺陷,因為這些優秀的代碼將存在很多的地方。

想出好名字要困難得多。我喜歡一句話:「計算機科學中只有兩個艱難的事:緩存失效和命名的東西。「部分命名是很困難的,因為它需要清晰的在腦海中每個名字代表什麼。有時這是不清楚,但隨著開發的進行才會顯現。因此,重命名命名一樣重要。」

命名的東西也還包括提出的概念,以及這些概念應該叫什麼。通過考慮周全,明顯命名概念一致地使用,編寫的程序才會變得更容易。


『叄』 怎麼做一個好的程序員

1. 學會看代碼

大多數程序員都只願意用自己寫的代碼,但高手一般可以輕易調用別人寫的代碼。表面看上去是工作習慣不同,
但實際上是能力上的差別。看代碼要比寫代碼難很多倍。

2. 復習

程序員一般都很忙, 手上有永遠也做不完的活兒。但在某些公司里,
你只是在反復做同樣的事。偶爾放下手上的活兒,留下一部分時間來分析自己的弱點,更改壞習慣,看新書, 或學習新語言。

3. 做個人項目

工作中的編程一般只能讓你熟悉一部分技術, 導致漏洞的形成。這就好像你長期一個人在自己後院練習投籃, 但第一次打比賽才(在慘敗中)發些原來還需要傳球,
防守, 強籃板這些概念。

Facebook喜歡僱傭所謂的 「full stack programmer」,就是一個人從設計,到交互,到html,css,javascript,
server,sql, 架構,和數據統計都能做。成為full stack programmer最好的方式就是不斷做個人項目。

4. 問答網站

問問題和回答問題都是很好的學習方式。 有的時候寫出一個好問題, 比寫出解答次問題所需要的代碼還難。寫問題可以幫你整理自己的思維邏輯。

5. 加入一個好團隊

最好的進步方式就是跟比自己強的人一起做事。高手都願意聚在一起,所以很多會選擇去優秀的早期創業公司。

閱讀全文

與如何成為一個優秀的程序員知乎相關的資料

熱點內容
代理賣周邊要用什麼軟體 瀏覽:271
蘋果手機微信支付信息怎麼恢復 瀏覽:280
電信產品密碼是什麼 瀏覽:771
全國地圖數據包下載到哪裡 瀏覽:300
濟寧技術人員學時需要多少 瀏覽:426
牡丹江水果批發市場有哪些地方 瀏覽:473
數字貨幣合約用什麼交易軟體 瀏覽:676
怎麼對接創意產品 瀏覽:75
小型代理記賬有什麼好處 瀏覽:146
輪胎店怎麼學技術 瀏覽:759
企鵝號怎麼填輔助信息 瀏覽:292
超級快充數據線什麼樣式 瀏覽:872
愛派平板怎麼恢復數據 瀏覽:939
西安農貿市場最大的在哪裡 瀏覽:968
大數據統計和硬輔哪個好 瀏覽:434
技術類的學習記錄文檔怎麼寫 瀏覽:85
怎麼申請建畜牧交易市場 瀏覽:51
滬指什麼時候交易 瀏覽:296
課程銷售如何給客戶發信息打廣告 瀏覽:978
超市推頭賣哪些產品 瀏覽:181