互連網時代:如何成為優秀的程式員?

來源:互聯網
上載者:User

標籤:互連網   程式員   開發人員   如何   而且   

650) this.width=650;" src="http://img.mp.itc.cn/upload/20160629/15f29cfdf8434dfdbcc43cad365fa43b_th.jpg" style="border:0px;margin:0px;padding:0px;font-size:0px;" />

  如何成為優秀的程式員,這個問題我也曾經問過我自己,可惜我做的還不夠好,經常這麼反問自己的話,會提升你對開發流程工藝思考,同時沒事也可以問問身邊的是程式員的同事,我相信你們會引發一些有趣的討論,但是我個人認為掌握下面五個技能非常重要,看看吧,為了我們都成為優秀的程式員。

  1,問題分解

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

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

  2,情景分析

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

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

  3,所示命名

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

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

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

  4,所示一致性

  也許在編程的最大挑戰是管理的複雜性。一致性是一種戰鬥的複雜性。它減少了一些複雜性,允許我們看到模式和推斷出如何命名,使用和處理。與一致性,我們不需要用腦力來記住異常和隨機變化。相反,我們可以專註於重要的複雜性,而不是偶發複雜性。

  一致性是很重要的。它適用於變數名和分組,命名方法,劃分成模組,目錄結構,GUI,錯誤處理,日誌記錄、文檔等。例如,如果某些變數是相關的和一起出現(在聲明,方法調用或列在資料庫中)然後總是使用相同的順序。然後它變得更容易看到如果丟失,或者如果他們一直搞混了。對於一個操作,如果是calleddelete在一個地方,別叫它刪除在另一個地方——堅持相同的名稱。Steve McConnell也有一些好的建議在代碼中使用精確對立完成。例如,開始/結束對立,啟動/停止。不要混合名稱從不同的雙(例如使用開始/停止)在處理相反。

  矛盾可以介紹當修改程式。草率的程式員往往不注意如果他們添加是否符合現有的代碼。優秀的程式員在確保看似無情的小細節是正確的,他們知道如何重要的一致性是整體對抗的複雜性。

  5,學習

  作為一個軟體開發人員,你需要不斷的學習。添加一個新特性之前,你必須理解它應該做什麼。將代碼添加到現有的一個項目之前,通常你需要學習什麼現有代碼,為了適應新的功能正常。你也必須瞭解周圍的系統,為了正確的介面。因此,學習能力快讓你更有效成為開發人員。

  此外,由於在軟體工程領域的發展速度是如此之高,有源源不斷的新語言,工具,技術和架構的瞭解。你可以認為這是好還是壞。弗雷德布魯克斯列出了學習的樂趣之一的將技能變成工藝,這一點我同意。學習新事物本身是令人興奮的。這也意味著生活中作為一個開發人員不會很無聊。

  結論

  所有上面的技能是通用的,沒有一個特定於任何一種語言,架構或技術。如果你有,你可以快速學習一門新語言或者工具,並編寫好的軟體環境。此外,因為他們在本質上是通用的,因為語言永遠不會滅亡,這些便是我的一些建議如何成為一名優秀的程式員。

本文出自 “先來一杯java壓壓驚” 部落格,請務必保留此出處http://maybeone.blog.51cto.com/11734094/1794171

互連網時代:如何成為優秀的程式員?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.