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