首頁 > 模型百科

一個(gè)程序員要具備的基本素質(zhì)是什么?

2018年07月16日
  • 編程語言能力。不用多說,作為合格的計(jì)算機(jī)程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個(gè)程序就能說精通的,要靠長時(shí)間的積累
  • 編碼能力。遵守編碼規(guī)范,是一個(gè)程序員最基本的要求,可悲的是,很多程序員根本沒有意識(shí)到這個(gè)問題的嚴(yán)重性。另外一個(gè)就是注釋,要注意不是為了注釋而注釋。對(duì)類,以說明職責(zé)為主;對(duì)方法,以說明意圖為主;對(duì)方法體,以說明實(shí)現(xiàn)思路為主。對(duì)于大段大段的代碼,要分段,使用空行隔開,并使用行內(nèi)注釋進(jìn)行說明。
  • 面向?qū)ο笏季S能力。如今,多數(shù)編程語言都是面向?qū)ο蟮木幊陶Z言。而這些面向?qū)ο蟮木幊陶Z言的共同的精髓就是面向?qū)ο蟮乃枷?。掌握這些比面向?qū)ο笳Z言本身更重要,比如對(duì)繼承,多態(tài),重載的理解。對(duì)面向?qū)ο蠡驹瓌t的理解,比如開閉原則,接口隔離原則,單一職責(zé)原則等。在此基礎(chǔ)上,應(yīng)該掌握常用的設(shè)計(jì)模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。我面試過很多程序員,沒有一個(gè)能說得上幾句的。
  • 英語管理。新的技術(shù)資料都是英文的,英語國家的IT技術(shù)走在我們前面至少10年(這是我自己估計(jì)的數(shù)字,可能正在縮?。>瓦B印度,一個(gè)連基礎(chǔ)設(shè)施建設(shè)都不太完善的國家,因?yàn)槠溆⒄Z基礎(chǔ)較好,其在軟件外包領(lǐng)域的發(fā)展也非常迅猛,遠(yuǎn)遠(yuǎn)超過了我們。學(xué)英語,首先是有信心,其次就是花時(shí)間。多閱讀英文資料,貴在堅(jiān)持。
  • 利用工具能力。工欲善其事,必先利其器。有了趁手的家伙,工作效率可以提升數(shù)倍。你編程序,有沒有選擇一個(gè)很好的IDE,以前聽說編程高手都用記事本寫程序,我覺得那是一種自虐。就像以前看到的一篇文章,說一幫戶外旅行愛好者,出去旅游,背了重重的旅行包,里面裝著什么壓縮餅干等快速食品。他們寧可就著礦泉水啃壓縮餅干,也不肯去1里路都不到的快餐店,農(nóng)家菜館吃飯。工具是為目的服務(wù)的,好用,提高效率就行,形式無所謂。
  • 學(xué)習(xí)能力。在IT業(yè)混飯吃不容易,整個(gè)環(huán)境進(jìn)化的太快,你不學(xué)習(xí),就等于落后了。學(xué)習(xí)要有針對(duì)性,別今天學(xué)ruby,明天學(xué)python,后天php的。首先要認(rèn)清自己的目標(biāo),自己短期目標(biāo)是什么,1年后,3年后,5年后的目標(biāo)是什么。結(jié)合這些目標(biāo),確定自己的學(xué)習(xí)計(jì)劃,人的精力畢竟是有限的。當(dāng)然,多掌握幾門編程語言也是好的,可以擴(kuò)充自己的知識(shí)面,重要的是為自己的目標(biāo)服務(wù)。當(dāng)然,不能只學(xué)習(xí)技術(shù),作為程序員還要關(guān)注的很多,要經(jīng)常練習(xí)自己的軟技能,比如溝通能力,表達(dá)能力。
  • 創(chuàng)造能力。普遍認(rèn)為,東方人模仿能力很強(qiáng),但創(chuàng)造能力差。我見過很多這樣的程序員,經(jīng)常說,“這個(gè)只能這么解決了,我想不出有什么別的方法。”可能他根本都沒想過別的方法,或者懶得去想。對(duì)任何一個(gè)問題,找出兩種以上的解決辦法都是非常容易的,簡單的google一下,可能就是數(shù)十種。悲哀的是,有些程序員經(jīng)常止步于自己構(gòu)建的狹小領(lǐng)地之內(nèi)。對(duì)待客戶也是這種態(tài)度,不是積極的幫助客戶解決問題,而是推脫這只是唯一解決方案。
  • 文檔能力。也許有人會(huì)質(zhì)疑,程序員跟寫文檔有什么關(guān)系。大家開源軟件也用過不少,看看Spring,hibernate,Struts等最流行的開源軟件的文檔就知道,他么的tutorial,他們的getstarted,他們的reference文檔寫的多么的易懂。其實(shí)寫代碼也相當(dāng)于寫文檔,只不過用的是編程語言。同樣,寫文檔,用自然語言,也相當(dāng)于寫程序,簡單明了,清晰易懂,這樣的“程序”誰看誰舒服。同樣,對(duì)于想進(jìn)階到設(shè)計(jì)師或者需求分析員角色的程序員,文檔能力更是非常重要。
  • DRY。DRY是一種原則,就是Don”t Repeat Yourself.這條原則可以用到很多地方,比如你經(jīng)常要編譯,打包,部署應(yīng)用程序,供集成測(cè)試用。每次你都在重復(fù)你自己,寫一個(gè)自動(dòng)化腳本(比如用ant,批處理命令)來將這些工作自動(dòng)化,以提高效率。
  • 抽象能力。 抽象能力是認(rèn)識(shí)事物從現(xiàn)象到本質(zhì)的能力。如果你只是停留在“見山是山,見水是水”的層次,客戶說什么,你就做什么,設(shè)計(jì)怎么做,你就怎么實(shí)現(xiàn),從來不過問為什么,也不去想他是滿足了用戶哪些方面的需求呢。這樣可能只解決了表面的問題,可能會(huì)引起返工。認(rèn)識(shí)到本質(zhì),才能讓你的程序具備更大的靈活性和可擴(kuò)展性。在做企業(yè)應(yīng)用軟件開發(fā)中,抽象能力體現(xiàn)為對(duì)問題域的理解能力,對(duì)領(lǐng)域模型的抽象。合理的抽象也是代碼重構(gòu)的前提,每一次重構(gòu),都是向更好的抽象邁進(jìn)了一步。996901137
全國模型價(jià)格免費(fèi)在線查詢系統(tǒng)
各地模型企業(yè)推薦
留言與評(píng)論(共有 0 條評(píng)論)
   
驗(yàn)證碼: