Delphi開發能力自我評測

來源:互聯網
上載者:User

轉載至 : http://www.delphifans.com/infoview/Article_4628.html

(註:以下內容都是作者個人的學習經驗和體會,僅代表個人觀點。針對Win32下的Delphi程式開發而言,部分內容或思想也可適用於其它工具或平台下的軟體開發。)

在程式員的求職資料中,用得最泛濫的詞可能是“熟悉”和“精通”了。評價一個程式員的綜合能力並不容易,下面的文字試圖以Delphi程式開發為例定義一種描述程式員開發能力的方法。

一、學習階段劃分。

根據我個人的經驗,Delphi程式設計分為以下幾個階段:

1、  熟悉階段。

這一階段指從未接觸過Delphi的人,剛開始學習到初步掌握Delphi的文法、可視化編程、物件導向編程的概念、Delphi IDE開發環境、基本代碼編寫、程式結構的過程。

熟悉階段結束後,學習者應該可以編寫簡單的程式,同時對整個Delphi開發環境有一定的瞭解,但還不能從事開發工作。

根據學習者是否有編寫其它語言代碼的經驗、是否接觸過物件導向編程等因素,這一過程可能需要數天到數十天的時間。

2、  入門階段。

在熟悉Delphi後,入門的標誌是學習者可以有目的地利用Delphi強大的可視化開發環境、結合一些常規的代碼編寫技術,編製一些小型的程式,或是完成簡單的資料庫應用。同時,還應掌握基本的程式調試方法。

入門後,程式員可以從事簡單的開發工作,或擔任中小型系統的使用者介面設計及簡單代碼的編寫任務。

同樣,如果沒有代碼編寫經驗,這一過程將需要一個月或更多的時間。

3、  進階階段。

相當多的程式員處於進階階段,他們通過經常性地開發工作,積累代碼編寫和程式調試經驗,通過各種途徑尋找各類代碼編寫技巧。每個人根據自已從事的工作或興趣,在某一方面或幾個方面大量的實踐,可以獨立開發小型、技術含量不高的系統,或在大中型系統中負責普通代碼的編寫。

絕大部分的在職程式員處於這一階段,如果一個程式員不是有目的地在學習、工作中總結、提高,可能很長時間、數年甚至終生處於這一階段。

4、  小成階段。

只有系統地掌握了Delphi的結構體系,從實踐上升到理論,有自己完整的編程思想和風格,或是在深度上達到了相當水平、或是在廣度上有了相當經驗,知識達到融會貫通的地步,才算小有所成。

此時,在代碼編寫方面,只要有時間,程式員幾乎可以實現所有想做的東西。很多功能,都可以舉出幾種實現方法並從效率、可讀上最佳化選取。

除了Delphi,程式員應該對作業系統有相當深入的瞭解,能在短時間內學會新的知識並加以應用,可以讀懂絕大部分Delphi源碼,完成複雜程式的調試。

如果向深度發展,程式員應該可以編寫出具有一定水平的組件、專家或較專業的程式。如果向廣度發展,則可以完成中小型的開發工作單位,或是大中型系統中的核心代碼編寫以及大部分系統分析工作。

這一階段幾乎是沒有現成經驗可學的,完全靠個人的修行和領悟,小有所成後程式員在軟體方面可獨擋一面。

5、  大師級。

如果前面四個階段在某種程度上都可以看做是“應用”的話,大師級的程式員就處於“設計和創造”這一層次。

他們已到技進乎道的境界,可以把Delphi玩得隨心所欲,可以創造新的東西,把握髮展方向,隨手寫的代碼都可以當教材用。Borland公司的工程師、國外一些著名軟體、控制項包的作者、以及國內少數程式員屬於這一階段。

二、代碼閱讀分析能力。

對一個程式員來說,讀懂別人寫的代碼是一項基本的能力。不僅包括閱讀寫得好的程式,也包括閱讀寫得一般甚至低劣的代碼。

代碼閱讀分析又可分為三個層次,一是代碼本身的閱讀能力,二是代碼編寫思想的理解能力,三是演算法模型分析設計能力。

要看懂一段代碼的作用和功能,首先自己應該擁有大量的代碼閱讀編寫經驗,然後是從手冊資料中快速獲得所需資訊的能力。然而,僅有這些,很多優秀的代碼仍然不易理解,這就需要程式員的宏觀分析和聯想能力。

和其它所有事物一樣,很多代碼也只有在特定環境中才有其存在的意義。有經驗的程式員在拿到一段代碼後並不急於馬上閱讀,而是在理解代碼所在單元甚至工程的功能後再有目的地分析,從宏觀(系統架構結構)和微觀(具體代碼)上分析作者的設計意圖、架構結構、實現方法,從中汲取經驗或對代碼編寫品質進行評估。

再深入一些, 是代碼和軟體的演算法設計。給你一段DES密碼編譯演算法、UCL壓縮演算法或MCNN多層分組神經網路的實現代碼,如果你沒有相關的理論知識做基礎,即使有源演算法模型也是無法看懂的。

三、代碼編寫調試能力。

程式設計能力一般指的就是代碼編寫調試的能力,程式員的代碼直接代表了他的編程水平。

1、  代碼編寫規範。

代碼、注釋的書寫是否規範直接反映出一個程式員對程式設計的態度。不同的組織定義了不同的代碼編寫規範,但從外觀上看,寫得好的代碼看起來都差不多一個模樣,而糟糕的代碼則五花八門。

2、  程式架構和演算法結構。

很多程式員在一開始編寫代碼時缺乏對開發目標的細緻分析和策劃,邊寫邊改,結果寫出的代碼結構冗長、演算法淩亂、可讀易維護性差,特別是在多人開發時很容易導致開發中後期進展緩慢甚至陷入僵局。優秀的程式員代碼書寫簡練、演算法清晰、結構合理,他們善於利用編譯器強大的語法檢查功能減少潛在的錯誤,並在設計編寫代碼時充分考慮程式的可移植性和升級能力。

3、  軟體測試和代碼調試能力。

調試複雜代碼的能力同樣是區分程式員能力的重要因素。同一段有問題的代碼,不同的人調試的時間可能相差數倍甚至數十數百倍。特別是組件開發等不可視代碼的調試,要求一個沒有太多經驗的程式員完成是不現實的。而一個優秀的程式員同時也應該是一個優秀的測試員,發現問題的能力和解決問題的能力同樣重要,儘管並不是所有人都能認識到這一點。

四、程式員類型。

從程式員所從事的工作及興趣來看,可將其簡單地劃分為:

1、  應用型。

又可分為以“其它領域結合軟體開發”為主和以“軟體開發結合其它領域”為主兩種。

前者有自己的專業知識,但不滿足於簡單的操作應用,而利用VB、Delphi等開發工具的強大RAD能力開發與自己專業相關的軟體。後者的工作是將電腦技術應用於其它領域,主要為企業編寫各種基於商務資料庫及網路通訊或一些自動化控制應用的軟體。

應用型程式員一般是“廣度型”發展的,他們並不注重系統底層知識的學習,而重在“應用”,利用開發工具來實現“行業規則”而不需要閱讀編寫底層、複雜的代碼。

2、  技術型。

這一類型的程式員是純軟體技術型的,他們的開發焦點集中在電腦軟體本身上,屬“深度”發展型。

技術型程式員大多追求完美、吹毛求疵,對他們來說,花上數小時的時間最佳化一段代碼,使程式執行效率提高10%是一件很愜意的事。技術型程式員一般重名重義不重利,喜歡自由,不願受現有架構的約束,每每有驚人之舉,他們大多特立獨行或在軟體開發中負責核心代碼編寫,而這個世界也因這些程式員的存在而變得美麗。

3、  創造型。

創造型程式員結合了應用與技術型的特點。

他們既有精明的商業頭腦,又有強勁的技術實力,既是管理人才又是技術人才,是炙手可熱的人物。關於他們的描述媒體上已有很多,不再贅述。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.