Delphi的世界,你在哪个位置?

Delphi,一个几近完美的语言。有人赞之,也有人厌之,这很正常,因为我们处在不同的阶段。你在哪个位置?我们一起跳出来看看吧。本文仅是小生几年来(几年?晕,几年就这水平?) 学习delphi的些许总结,也许很多东西并不适合你,因此只以此来抛砖引玉,望各位板砖多用在祖国建设的火热工程中。好,闲言少扯,这就开始。

■崭露头角的Delphi Toucher

心情:轻衫薄履,稍带羞涩的走近Delphi,为的只是好奇或者道听途说。认识Delphi也许是偶然,也许是被迫,总之,对于Delphi的面纱,总是感觉那是洞房花烛前的盖头,按捺不住的心情,想揭却又不敢。

症状:处于这个阶段的人,对Delphi,或者说是对编程只是蒙蒙胧胧的一些不成系统的理解,对于IDE或者程序的理解也仅仅停留在拖动几个控件,点几下鼠标,再照猫画虎的敲出几行Hello World来,就有十足百足胜似蜈蚣的成就感。控件没有任何命名规范,代码也仅仅是CPP(COPY PASTE PRINT)出来的。所有代码全部挤在主窗口单元中,多于一个窗体或者单元的程序对他来说基本是没法翻越的山头。

此阶段,虽然是初学乍练,但稍有闪失,就可能成为遍布满山头的拖拉机司机。

如此一来,一部分想探寻按钮或者代码背后真相的人,便有了下一条路的通行证。

建议:不要仅仅认为点两下鼠标或拖几个控件就是编程。RAD(可视化快速开发)仅仅是为提高开发效率,而并不是为你展示真相的。迈出了脚步,但仅仅是刚刚上路。清晰的了解IDE以及为你提供的现成的东西的用法,和编程真正的目的--解决问题。

推荐用书:《Delphi从入门到精通》

■初入师门的Delphi Starter

心情:犹如刚刚学艺的老虎,小有所成,能够应付一些小病小灾,却一般会在真正的场合中自乱阵脚。飘飘然的欲望经常在小成小利中不觉泛出,实难把握。

症状:这个阶段的人,对于一些常用的控件的使用可以说是轻车熟路。工程文件表现出了多个窗体的分工/调用。由于所做的程序稍微复杂一些,用到的控件多了之后,命名开始规范起来。使用一些现成的或者第三方提供的控件,可以做出相对比较复杂的小软件。

但几乎所有的实现代码都挤在各自窗体的实现单元里,很少看到独立出来的单元文件。窗体与窗体之间调用关系错综复杂,经常出现一个窗体的控件引用了另一个窗体中的控件属性,更动一处而动全身。由于使用了大量的三方控件,以致于工程移植是个很让人抓狂的事情。

代码编写混乱,甚至很多语法规则也不甚知晓,逻辑也是在控件的驱动下四下拼凑。经常遇到很多询问基本语法、语义规则的问题,所谓飘然浮于表面、不知甚解者大多处于此阶段。

当然,由于RAD的便捷性,这一阶段已经可以应付一般的应用而无需花费太多的心思。这个阶段是个分水岭,更深入的学习可以使你向下一阶段进发,但安于现状的话,估计拖拉机公司又多了一名抢饭碗的员工。本人观点:很多认为Delphi垃圾的人大多处于这个阶段。

建议:首先是语法基础,使用Code来构建你的想法,程序终归要用代码逻辑来实现。换句话说,尽量用代码来展现你的程序,而不是鼠标。

推荐用书:《Delphi精要》《开发者手册》《数据结构》


■稍显门道的Delphi Coder

心情:对刚刚捡到的一本真经爱不释手时,常常会因为太多的疑问而感到迷茫,着实想停下来好好整理整理。

症状:此阶段的人,已初步悟出编程的实质,各种应用也开始回归代码。程序编写时,开始合理的划分单元文件,逐渐将可视化组件和代码分离设计。语法基础基本掌握,常用代码可以随叫随到。程序的层次感开始显露,代码的复用率也大幅提高,能够把通用的代码封装成单独的单元或模块来调用,窗体之间不再直接耦合。越来越感到控件的局限性。

程序的分层设计大大的提高了其逻辑的清晰度,但在设计相对复杂的情况下,各个模块间的相互调用显得较为混乱,往往在修正某个函数时,波及到其它使用它的模块,代码维护异常困难。用句术语来说,代码尚处于面向过程或者基于对象阶段。全局变量满天飞几乎是这个阶段人的象征。

建议:此阶段对于器的修炼可谓趋于到家,下一步需要做的是潜心练气,做到心中无剑、厚积薄发。当前主流的OOP是学习的主要目标。另外,试着接触其它一些先进的设计语言,将先进思想借鉴到日常的开发中来。多去读别人的代码,但并不是只读好的,应该看到别人失败的地方,这一点很重要

推荐用书:《Delphi面向对象程序设计》《Delphi面向对象开发实践之路》


■趋于成熟的Delphi Designer

心情:十足的脚力总想让自己去奔跑,收拾起之前的幼稚,使劲系了系双星的鞋带…

症状:此阶段的人,单元文件名前开始出现T、U等字母,一些辅助的设计工具(比如MMX,Cnpack等)也开始出现在IDE中,能够将工程抽象出典型的类型,并合理的分配方法及属性。解决问题时,先想到的是类/对象,模块与模块间的通信开始变窄。全局变量基本不会出现。第三方控件的使用开始减少。

大部分处于此阶段的人已经可以满足大部分应用,一些常用的MIS系统已经可以被很快的设计及扩展。程序的健壮性大幅度提高,逻辑代码清晰。平时手头也积累了一些可以通用的类代码,随时可以拿来使用。

不过由于目前系统的需求日益复杂,加之所使用的VCL架构的庞大体系,在一些特殊的应用中此阶段还无法胜任,比如系统底层、跨越式系统、多语言系统等,简单的OOP已经无法满足需要。仅仅靠方法、属性的封装已经捉襟见肘。另外,跟系统有关的各种底层机制还有待于进一步研究。

建议:熟悉了OOP,那么离设计模式便不远了,离具体的语言实现却开始变远了。程序终归是逻辑,另一方面,对于常用的开发架构也应该进行全面系统的了解,做到心中有数,有章可循。多使用Ctrl键来跟踪代码,VCL的设计是很优雅的,对学习和进阶大有益处。

推荐用书:《设计模式》《Inside VCL》《Delphi深度探索》《Delphi源代码分析》《编译原理》

■生活完全自理的Delphi expert

心情:一个快乐的生产者,衣食无忧。

症状:此阶段的人,已经能够理清VCL的脉路,理解操作系统的基本原理,能够自己动手为IDE或者控件组任意扩展,积累大量自用的组件及单元,甚至能够修复Delphi出现的代码BUG。只要时间允许,常用软件都是自产自销。程序设计的重点不再是Code,而是真正的Design,难点也由能不能转移到了值不值得。实现一个功能也只是时间问题。

建议:到此,你可以出山行善了,生存不再是问题,那么所需要的就是个人思想体系的修行。语言对你不再是绑定的,正可谓心中无剑,像唐伯虎一样随意泼洒笔墨,统帅一般指点江山也是指日可待的,只是前路漫漫,更加需要耐心和悟性。

推荐用书:《代码大全》《人月神话》

■指点江山的Delphi architect

心情:一览而小众山。

症状:系统级,也许只有这个词才能一定程度的体现出该阶段人的层次。实现已不再是他们的主要工作,图形成了他们最主要的设计载体,一个系统他们能够把握大局,能够平衡各模块/子系统间的性能及可维护性。他们不再是底层生产者,而是开拓者、引领者。

此处所写也仅仅是小生对大师的仰视而感,真正的也很少触及,还望各位高人在此不吝赐教。

建议:在横扫千军之余别忘给我们这些后来者传授一二…

推荐用书:自撰自写…

标签:
文章分类 在路上, 无力吐槽
3 条评论在 “Delphi的世界,你在哪个位置?” 上
  1. keyz 说道:

    有点意思:)

  2. wisdom_zh 说道:

    不错,有空多交流:)

CDSoftwareWj 进行回复 取消回复

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

点赞
如果您觉得很赞,我将非常乐意接受虚拟币的捐赠,以示您对我的肯定。

比特币钱包地址:
1PqpqA8FyH3NbfCrbcRd1YxQk3LEsSEYDV
莱特币钱包地址:
LRTdmovGGVEHCKWz7JdL9aiB7VZkuNycJf
站点勋章
网站统计