一個(gè)高薪的碼農(nóng),應(yīng)具備的8種能力
程序員的高薪資著實(shí)讓人羨慕,但想入行,并且達(dá)到企業(yè)的用人要求,需要具備這8種能力。那么,看看你這些方面的能力,表現(xiàn)如何呢?
1、懂計(jì)算機(jī)的思維
計(jì)算機(jī)雖然能做到很多人腦無(wú)法完成的事情,但它始終還是一個(gè)只懂得順序,循環(huán)的笨家伙,沒(méi)有指令什么都做不了。但人的需求是比較復(fù)雜的,這和計(jì)算機(jī)之間形成了巨大障礙,這時(shí)候需要碼農(nóng)用代碼去消除障礙。
用現(xiàn)有的數(shù)據(jù)結(jié)構(gòu)或者自定義數(shù)據(jù)結(jié)構(gòu),去滿足模塊的需求,用計(jì)算機(jī)語(yǔ)言把它描述出來(lái), 這是基本功,如果沒(méi)有這個(gè)思維,可以說(shuō)連做碼農(nóng)的最基本需求都滿足不了。
2、有找到問(wèn)題的能力
在軟件開(kāi)發(fā)領(lǐng)域,最經(jīng)常遇到的就是Bug , 花費(fèi)了巨大的精力沒(méi)有解決,最后發(fā)現(xiàn)只是有個(gè)文件打開(kāi)后忘記關(guān)閉,一行代碼就能修復(fù)!那么第一個(gè)知道在哪修改這行代碼的人才是最強(qiáng)的,優(yōu)秀的碼農(nóng)能夠把軟件在腦海里建立一個(gè)運(yùn)行的模型,設(shè)置輸入輸出,抬起頭想一下,就能找到問(wèn)題在哪!
3、善用搜索功能
遇到不懂的東西我們都會(huì)使用搜索工具,但有些人在搜索的時(shí)候,試了好多關(guān)鍵詞都不能找到理想的內(nèi)容。而有的人幾乎是一擊而中,這其實(shí)是對(duì)問(wèn)題本質(zhì)的理解能力。
4、熟練使用IDE的能力
直接使用記事本等文本編輯器進(jìn)行編程不是不行,但想提升效率,熟練使用IDE是必要的。別的不說(shuō), Eclipse IDE至少提供智能提示,自動(dòng)補(bǔ)全,瞬間讓代碼好看很多代碼瀏覽,方法的調(diào)用層次重構(gòu), 文本編輯器是絕對(duì)沒(méi)有的。
5、重構(gòu)代碼的能力
好看的代碼不是一蹴而就的,是在一次次的迭代,重構(gòu)后慢慢浮現(xiàn)的,所以重構(gòu)就顯得非常重要!
6、寫測(cè)試的能力
這里主要是指測(cè)試單元,這部分是要由敲代碼的人來(lái)完成的,保證自己寫的業(yè)務(wù)模塊是按照預(yù)期來(lái)工作的。 這些測(cè)試也會(huì)成為一種“文檔”,用來(lái)描述軟件的行為,將來(lái)你改動(dòng)代碼的時(shí)候,運(yùn)行這些測(cè)試將會(huì)知道是不是對(duì)原來(lái)的邏輯造成的損害。
7、熟練使用源代碼管理系統(tǒng)的能力
分布式合作,一個(gè)SCM系統(tǒng)幾乎是團(tuán)隊(duì)的必備。 至少熟練掌握一個(gè)SCM是碼農(nóng)的基本能力,如果你還不會(huì),那要努力學(xué)習(xí)咯!
8、構(gòu)建軟件的能力
把代碼從SCM中下載下來(lái), 編譯、測(cè)試 、打包、部署到測(cè)試環(huán)境或者生產(chǎn)環(huán)境。這個(gè)過(guò)程應(yīng)該是自動(dòng)化,你至少應(yīng)該學(xué)會(huì)像Ant, Maven這樣的工具和像Jekins這樣的平臺(tái)。你說(shuō)呢?
那么你認(rèn)為一個(gè)合格的碼還要具備哪些能力呢?