Delphi开发能力自我评测

Delphi开发能力自我评测 日期:2008年11月23日 做者: 人气:3159 查看:[大字体 中字体 小字体] (注:如下内容都是做者我的的学习经验和体会,仅表明我的观点。针对Win32下的Delphi程序开发而言,部份内容或思想也可适用于其它工具或平台下的软件开发。)程序员

在程序员的求职资料中,用得最泛滥的词多是“熟悉”和“精通”了。评价一个程序员的综合能力并不容易,下面的文字试图以Delphi程序开发为例定义一种描述程序员开发能力的方法。算法

1、学习阶段划分。数据库

根据我我的的经验,Delphi程序设计分为如下几个阶段:编程

一、 熟悉阶段。网络

这一阶段指从未接触过Delphi的人,刚开始学习到初步掌握Delphi的语法、可视化编程、面向对象编程的概念、Delphi IDE开发环境、基本代码编写、程序结构的过程。框架

熟悉阶段结束后,学习者应该能够编写简单的程序,同时对整个Delphi开发环境有必定的了解,但还不能从事开发工做。工具

根据学习者是否有编写其它语言代码的经验、是否接触过面向对象编程等因素,这一过程可能须要数天到数十天的时间。学习

二、 入门阶段。开发工具

在熟悉Delphi后,入门的标志是学习者能够有目的地利用Delphi强大的可视化开发环境、结合一些常规的代码编写技术,编制一些小型的程序,或是完成简单的数据库应用。同时,还应掌握基本的程序调试方法。测试

入门后,程序员能够从事简单的开发工做,或担任中小型系统的用户界面设计及简单代码的编写任务。

一样,若是没有代码编写经验,这一过程将须要一个月或更多的时间。

三、 进阶阶段。

至关多的程序员处于进阶阶段,他们经过常常性地开发工做,积累代码编写和程序调试经验,经过各类途径寻找各种代码编写技巧。每一个人根据自已从事的工做或兴趣,在某一方面或几个方面大量的实践,能够独立开发小型、技术含量不高的系统,或在大中型系统中负责普通代码的编写。

绝大部分的在职程序员处于这一阶段,若是一个程序员不是有目的地在学习、工做中总结、提升,可能很长时间、数年甚至终生处于这一阶段。

四、 小成阶段。

只有系统地掌握了Delphi的结构体系,从实践上升到理论,有本身完整的编程思想和风格,或是在深度上达到了至关水平、或是在广度上有了至关经验,知识达到融会贯通的地步,才算小有所成。

此时,在代码编写方面,只要有时间,程序员几乎能够实现全部想作的东西。不少功能,均可以举出几种实现方法并从效率、可读上优化选取。

除了Delphi,程序员应该对操做系统有至关深刻的了解,能在短期内学会新的知识并加以应用,能够读懂绝大部分Delphi源码,完成复杂程序的调试。

若是向深度发展,程序员应该能够编写出具备必定水平的组件、专家或较专业的程序。若是向广度发展,则能够完成中小型的开发任务,或是大中型系统中的核心代码编写以及大部分系统分析工做。

这一阶段几乎是没有现成经验可学的,彻底靠我的的修行和领悟,小有所成后程序员在软件方面可独挡一面。

五、 大师级。

若是前面四个阶段在某种程度上均可以看作是“应用”的话,大师级的程序员就处于“设计和创造”这一层次。

他们已到技进乎道的境界,能够把Delphi玩得为所欲为,能够创造新的东西,把握发展方向,随手写的代码均可以当教材用。Borland公司的工程师、国外一些著名软件、控件包的做者、以及国内少数程序员属于这一阶段。

2、代码阅读分析能力。

对一个程序员来讲,读懂别人写的代码是一项基本的能力。不只包括阅读写得好的程序,也包括阅读写得通常甚至低劣的代码。

代码阅读分析又可分为三个层次,一是代码自己的阅读能力,二是代码编写思想的理解能力,三是算法模型分析设计能力。

要看懂一段代码的做用和功能,首先本身应该拥有大量的代码阅读编写经验,而后是从手册资料中快速得到所需信息的能力。然而,仅有这些,不少优秀的代码仍然不易理解,这就须要程序员的宏观分析和联想能力。

和其它全部事物同样,不少代码也只有在特定环境中才有其存在的意义。有经验的程序员在拿到一段代码后并不急于立刻阅读,而是在理解代码所在单元甚至工程的功能后再有目的地分析,从宏观(系统框架结构)和微观(具体代码)上分析做者的设计意图、框架结构、实现方法,从中汲取经验或对代码编写质量进行评估。

再深刻一些, 是代码和软件的算法设计。给你一段DES加密算法、UCL压缩算法或MCNN多层分组神经网络的实现代码,若是你没有相关的理论知识作基础,即便有源算法模型也是没法看懂的。

3、代码编写调试能力。

程序设计能力通常指的就是代码编写调试的能力,程序员的代码直接表明了他的编程水平。

一、 代码编写规范。

代码、注释的书写是否规范直接反映出一个程序员对程序设计的态度。不一样的组织定义了不一样的代码编写规范,但从外观上看,写得好的代码看起来都差很少一个模样,而糟糕的代码则五花八门。

二、 程序框架和算法结构。

不少程序员在一开始编写代码时缺少对开发目标的细致分析和策划,边写边改,结果写出的代码结构冗长、算法凌乱、可读易维护性差,特别是在多人开发时很容易致使开发中后期进展缓慢甚至陷入僵局。优秀的程序员代码书写简练、算法清晰、结构合理,他们善于利用编译器强大的语法检查功能减小潜在的错误,并在设计编写代码时充分考虑程序的可移植性和升级能力。

三、 软件测试和代码调试能力。

调试复杂代码的能力一样是区分程序员能力的重要因素。同一段有问题的代码,不一样的人调试的时间可能相差数倍甚至数十数百倍。特别是组件开发等不可视代码的调试,要求一个没有太多经验的程序员完成是不现实的。而一个优秀的程序员同时也应该是一个优秀的测试员,发现问题的能力和解决问题的能力一样重要,尽管并非全部人都能认识到这一点。

4、程序员类型。

从程序员所从事的工做及兴趣来看,可将其简单地划分为:

一、 应用型。

又可分为以“其它领域结合软件开发”为主和以“软件开发结合其它领域”为主两种。

前者有本身的专业知识,但不知足于简单的操做应用,而利用VB、Delphi等开发工具的强大RAD能力开发与本身专业相关的软件。后者的工做是将计算机技术应用于其它领域,主要为企业编写各类基于商业数据库及网络通信或一些自动化控制应用的软件。

应用型程序员通常是“广度型”发展的,他们并不注重系统底层知识的学习,而重在“应用”,利用开发工具来实现“行业规则”而不须要阅读编写底层、复杂的代码。

二、 技术型。

这一类型的程序员是纯软件技术型的,他们的开发焦点集中在计算机软件自己上,属“深度”发展型。

技术型程序员大多追求完美、吹毛求疵,对他们来讲,花上数小时的时间优化一段代码,使程序执行效率提升10%是一件很惬意的事。技术型程序员通常重名重义不重利,喜欢自由,不肯受现有框架的约束,往往有惊人之举,他们大多特立独行或在软件开发中负责核心代码编写,而这个世界也因这些程序员的存在而变得美丽。

三、 创造型。

创造型程序员结合了应用与技术型的特色。

他们既有精明的商业头脑,又有强劲的技术实力,既是管理人才又是技术人才,是煊赫一时的人物。关于他们的描述媒体上已有不少,再也不赘述。

相关文章
相关标签/搜索