做一個合格的程序員要掌握哪七種基本技能?
七種程序員的基本技能,它們是:數(shù)組、字符串與哈希表,正則表達式,調(diào)試,兩門語言,一個開發(fā)環(huán)境,SQL語言,編寫軟件的思想。
數(shù)組、字符串與哈希表
任何受過專業(yè)訓練的程序員,對“數(shù)據(jù)結(jié)構(gòu)”這門課程中涉及到的各種數(shù)據(jù)結(jié)構(gòu)都不會陌生,但是在實際的編程工作中,大部分的數(shù)據(jù)結(jié)構(gòu)都不會用到,而且也永遠都不會用到。雖然如此,深入地理解基本數(shù)據(jù)結(jié)構(gòu)的概念和實現(xiàn)細節(jié),仍然是每個程序員的任務(wù)。這不僅僅是因為,掌握這些知識將有利于更加正確和靈活地應用它們,而且也是因為,對于語言背后的實現(xiàn)細節(jié)的求知欲是一個優(yōu)秀程序員的素質(zhì)。
正則表達式
在程序員日常工作中,數(shù)據(jù)處理占據(jù)了相當?shù)谋戎亍6械臄?shù)據(jù)之中文本又占據(jù)了相當?shù)谋戎?。文本能夠被人理解、具有良好的透明性,利于系統(tǒng)開發(fā)、測試和維護等就必需要有一定規(guī)律遵循一種規(guī)則,當你掌握一門正則表達式語言,就能夠培養(yǎng)你編程的直覺本能,達到較高水平,也能夠在實踐中提供更高的開發(fā)和執(zhí)行效率。
調(diào)試
軟件調(diào)試是軟件工程的一個重要部分,其過程出現(xiàn)在軟件工程的各個階段,從最初的可行性分析、原型驗證、到開發(fā)和測試階段、再到發(fā)布后的維護與支持,都有軟件調(diào)試過程參與。學習和靈活運用軟件調(diào)試技術(shù),不僅可以提高程序員工作效率,而且有利于對代碼的感知力和控制力,加深對軟件和系統(tǒng)的理解。此外,調(diào)試技術(shù)是解決各種軟件難題的一種有效武器,它直擊要害、銳不可擋,相對其它間接方法具有明顯的優(yōu)勢。軟件有大美,調(diào)試見真功!
兩門語言
任何一位職業(yè)化的軟件技術(shù)人員都會將編程語言當成自己的利器。它們代表了開發(fā)人員對計算機本身的理解與對軟件開發(fā)工作的執(zhí)著。同時,建立在編程語言之上的基礎(chǔ)也標志著程序員的職業(yè)化道路發(fā)展到了一個新的階段,而單一語言又有一定的局限性,軟件開發(fā)的本質(zhì)就是處理信息以及數(shù)據(jù)。一種專門用來處理數(shù)據(jù)的腳本語言常常是走向更加職業(yè)化的必備武器之一。所以精通兩種語言,對于任何一個開發(fā)人員來說,并非必須,但是對于一個專業(yè)化程度較高的開發(fā)人員來說,又常常是必要的。
一個開發(fā)環(huán)境
隨著技術(shù)的進步,IDE已經(jīng)越來越強大,遠遠超出我們心目中的最初形象,越來越多的內(nèi)容被涵蓋到IDE中,從需求分析、業(yè)務(wù)建摸大批軟件發(fā)布,IDE已經(jīng)逐漸覆蓋了軟件開發(fā)的整個生命周期。
SQL語言
說起SQL,絕大多數(shù)程序員對其作用都了然于胸--用來訪問數(shù)據(jù)庫嘛。確實,數(shù)據(jù)是信息系統(tǒng)的核心,沒有數(shù)據(jù)的計算機應用沒有任何意義。信息系統(tǒng)中,大量數(shù)據(jù)本質(zhì)上就以實體--關(guān)系的模式存在,而RDBMS支持SQL這么簡單但表達能力豐富的訪問接口,同時還提供了內(nèi)建的事務(wù)ACID特性保證和故障恢復能力--因此,RDBMS理所當然地成為了大部分信息系統(tǒng)的標準數(shù)據(jù)存儲介質(zhì)。于是,無論使用何種語言開發(fā)信息系統(tǒng),從C、C++,Delphi到Java,從Perl、Python到Ruby,使用SQL訪問RDBMS都是我們必須修煉的武功秘籍。
編寫軟件的思想
說起程序員的武器自然少不了技術(shù)書籍,它們就像是拳譜、劍經(jīng)、雖然不能馬上轉(zhuǎn)化為巨大的傷害輸出,但假以時日勤以研讀,有朝一日成為傍身絕學也是說不定。不過雖然各類技術(shù)書籍汗牛充棟,除去入門時淺顯易用的參考和復雜深奧的學術(shù)專著,能夠讓所有程序員??闯P碌男姆丶€是不多