• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0

            軟件開發是一個跨度很大的技術工作,在語言方面,有C,C++,Java,Ruby等等等等,在環境方面,又分嵌入式,桌面系統,企業級,WEB,基礎系統,或是科學研究。但是,不管是什么的情況,總是有一些通用的基本職業技能。

            這些最基本的職業技能通常決定了一個程序員的級別,能否用好這些技能,直接關系到了程序員的職業生涯。很多程序新手也是因為缺少、達不到或是不熟悉在這些基本技能,所以,他們需要有老手帶,需要努力補齊這些技能。而高級程序員應該非常熟悉這些基本技能,而且有能力勝任并帶領其他經驗不足的程序員。

            下面這些基本職業技術可以用來做為對一個程序員的評估,很明顯,下面的這些技能都可以用來做面試。雖然,還有很多非技術的因素,但對于評估一個程序員的技術能力來說,其應該是足夠的了。

            下面是程序員所應該具備的基本職業技能:

            基本技能技能描述
            閱讀代碼這個技能需要程序員能夠具備讀懂已經存在的代碼的能力,這樣的能力可以讓程序員分析程序的行為,了解程序,這樣才能和開發團隊一起工作,繼承維護或是改進現有的程序。
            編寫程序編寫程序并不包括程序設計。不要以為編程是一件很簡單的事情,很多程序員都認為編程只需要懂得程序語言的語法,并把設計實現就可以了。但是這離編寫程序還遠遠不夠,使用什么樣的編碼風格成為編寫程序員最需要具備的基本技能。能否使用非常良好的編程風格直接決寫了程序員的級別。
            軟件設計這一能力直接決定了需要吏用什么樣的代碼技術達到怎么樣的功能,而系統架構設計直接決定了軟件的質量、性能和可維護性。并不是所有的程序在這一方面都非常優秀,但每個程序員都需要或多或少的明白和掌握這一基本技能。
            熟悉軟件工程每個程序員都應該明白軟件工程是什么東西,都應該知道,需求分析,設計,編碼,測試,Release和維護這幾個階段。當然,幾乎所有的人都知道這些東西,但并不是每個人都很清楚這些東西?,F在很多高級程序員都會混淆“需求規格說明書FS”和“概要設計HLD”。另外,程序員還需要知道一些軟件開發的方法論,比如:敏捷開發或瀑布模型。
            使用程序庫或框架一個程序員需要學會使用已有的代碼,無論是標論的程序庫,或是第三方的,還是自己公司內部的,都需要學會做。比如:C++中,需要學會使用STL,MFC,ATL,BOOST,ACE,CPPUNIT等等。使用這些東西,可以讓你的工作事半功倍。
            程序調試程序調試是分析BUG和解決問題最直接的能力。沒有人能夠保證程序寫出來不用調試就可以運行正常,也沒有人可以保證程序永遠不會出BUG。所以,熟練使用調試器是一個程序員需要具備的基本技能。
            使用IDE學會使用IDE工具也會讓你的工作事半功倍。比如,VC++,Emacs,Eclipse等等,并要知道這些IDE的長處和短處。
            使用版本控制一定要學會使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代碼,怎么reverse,怎么利用版本控制工具維護不同版本的軟件。這是程序員需要明的的軟件配置管理中最重要的一塊。
            單元測試單元測試是每個程序都需要做的。很多單元測試也是需要編碼的。一定要學會在xUnit框架下進行單元測試。比如JUnit, NUnit, CppUnit等等。
            重構代碼每個程序員都需要有最基本的能力去重構目前已有的代碼,使代碼達到最優但卻不能影響任何的已有的功能。有一本書叫《軟件的重構》,每個程序員都應該讀一下。
            自動化編譯程序員需要使用一個腳本,其能自動化編程所有的工程和代碼,這樣,整個開發團隊可以不停地集成代碼,自動化測試,自動化部署,以及使用一些工具進行靜態代碼分析或是自動化測試。

            當然,還有很多的基本技術也是非常重要的,比如,與人的溝通能力,語言的表達能力,寫作能力,團隊協作能力,適應變化的能力,時間管理能力,多任務處理能力,自我學習能力,故障處理能力,等等,等等,這里只是列舉了和技術相關的能力,這些是程序最最最基本的能力,只要是程序員就必需要有的能力。

            本文轉自:http://coolshell.cn/articles/428.html

            posted on 2013-11-28 11:55 王海光 閱讀(370) 評論(0)  編輯 收藏 引用 所屬分類: 其他
            久久久久国产一级毛片高清版| 精品人妻伦九区久久AAA片69| 国产精品久久99| 久久国产成人午夜aⅴ影院| 热久久国产欧美一区二区精品| 精品久久久无码人妻中文字幕| 精品免费久久久久久久| 久久高清一级毛片| 久久精品人人做人人爽97| 亚洲国产精品高清久久久| 伊人丁香狠狠色综合久久| 人妻无码精品久久亚瑟影视| 国产精品久久久99| 国产亚洲精久久久久久无码| 无码国内精品久久人妻麻豆按摩| 久久热这里只有精品在线观看| 久久精品免费一区二区三区| 国内精品久久久久久99蜜桃| 午夜精品久久久内射近拍高清 | 精品久久人人爽天天玩人人妻| Xx性欧美肥妇精品久久久久久| 久久午夜伦鲁片免费无码| 国产精品久久久久久久app| 久久午夜福利电影| 精品水蜜桃久久久久久久| 久久久久久久综合日本亚洲 | 国产精品九九久久免费视频| 久久ZYZ资源站无码中文动漫| 99久久夜色精品国产网站| 国产精品99久久久久久宅男小说| 草草久久久无码国产专区| 国产欧美久久一区二区| 国产韩国精品一区二区三区久久| 麻豆一区二区99久久久久| 亚洲综合熟女久久久30p| 99久久夜色精品国产网站| 中文字幕人妻色偷偷久久| 亚洲国产精品无码久久久蜜芽| 精品多毛少妇人妻AV免费久久| 久久成人小视频| 久久亚洲AV成人出白浆无码国产|