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
心情:一览而小众山。
症状:系统级,也许只有这个词才能一定程度的体现出该阶段人的层次。实现已不再是他们的主要工作,图形成了他们最主要的设计载体,一个系统他们能够把握大局,能够平衡各模块/子系统间的性能及可维护性。他们不再是底层生产者,而是开拓者、引领者。
此处所写也仅仅是小生对大师的仰视而感,真正的也很少触及,还望各位高人在此不吝赐教。
建议:在横扫千军之余别忘给我们这些后来者传授一二...
推荐用书:自撰自写...
分享到:
相关推荐
在Delphi编程环境中,开发人员经常需要在不同的控件中显示和操作文本,例如在Image控件中添加文字。Image控件通常用于显示图像,但通过一些特定的技术,我们也可以在其上绘制文字,以实现图文混排的效果。下面将详细...
总的来说,"delphi7中文补丁"是Delphi 7用户不可或缺的工具,它为非英语用户打开了通往专业开发世界的大门。通过这个补丁,开发者可以更加专注于编程本身,而不是语言障碍,从而充分发挥Delphi 7的强大功能。
在Delphi的世界里,理解并熟练运用指针是成为高效开发者的关键。本电子书深入浅出地介绍了指针的基本原理、类型、操作以及它们在实际编程中的应用。 1. **指针基础**:在Delphi中,指针是一种变量,它存储的是内存...
在本文中,我们将深入探讨如何使用Delphi进行数据库连接,并通过一个简单的案例来演示如何执行数据库更新操作。Delphi是一款强大的RAD(快速...不过,理解这个基础案例,将有助于你进一步探索Delphi的数据库编程世界。
在Delphi中,这可能涉及到`Timer`组件,通过设置定时器的间隔时间,每隔一定毫秒执行一次绘制函数,更新雪花的位置,从而形成连续的动态效果。 3. **随机数生成**: 为了使雪花的飘落更自然,源码可能会使用`...
通过学习和理解这个示例,你可以了解到如何在Delphi中自定义处理XML格式化的细节。 总之,Delphi XE7虽然没有内建的XML格式化工具,但通过自定义函数和DOM操作,我们可以实现XML的格式化功能。这个"delphi格式化xml...
在IT行业中,尤其是在地理信息系统(GIS)和定位服务领域,经纬度换算是一个常见的任务。...开发者可以利用这个源代码学习如何在Delphi环境下实现坐标转换,并将其应用于需要精确地理位置信息的项目中。
互联网时间通常是指UTC(协调世界时),这是一个全球统一的时间标准,不受地理位置或时区影响。为了与UTC同步,我们需要连接到提供网络时间协议(NTP)服务的服务器。NTP是一种用于同步分布式系统时间的协议,它允许...
本教程将引导初学者进入Delphi的世界,理解其基本操作并掌握使用ActiveX组件的方法。 1. **Delphi安装** Delphi的安装过程包括下载安装包、运行安装程序、选择安装选项等步骤。在安装过程中,用户需要关注以下几个...
本资源"DELPHI窗体属性实例源码,DELPHI新手入门参考"是专为那些想要踏入DELPHI世界的新手设计的,它通过实际的窗体属性应用实例,帮助初学者快速掌握DELPHI的基础知识。 在DELPHI中,窗体(Form)是程序的基本构建...
本入门全集将带你逐步走进Delphi XE的世界,学习如何利用其进行手机应用开发。 **一、Delphi XE 的复兴** 在《Delphi APP 开发入门(一)重生的 Delphi.pdf》中,我们了解到Delphi XE在移动开发领域的复兴。这个...
《烽火引擎全套Delphi源码》是一套用于开发传奇世界游戏服务器的源代码,它基于流行的编程语言Delphi,并且已经更新至2.03版本。这套源码的发布,对于那些对游戏开发,尤其是传奇世界游戏后端感兴趣的开发者来说,是...
在本案例中,开发者利用Delphi的特性构建了一个专用于乌鲁木齐地区的电子地图软件,该软件包含了该城市的学校和饭店等地点信息,为用户提供了一种方便的方式来查找和了解这些地点。 描述中提到的“乌鲁木齐的电子...
在编程世界中,开发一款人机对弈的游戏是提高编程技能和理解算法的好方法。本篇文章将深入探讨如何利用Delphi编程语言构建一个简单的人机五子棋游戏。Delphi,作为一款强大的面向对象的集成开发环境(IDE),因其...
在软件开发的世界里,用户界面(UI)是吸引用户并提升用户体验的关键因素之一。Delphi XE10作为一个强大的集成开发环境(IDE),提供了丰富的工具和库,使得开发者能够轻松创建出专业且酷炫的界面,让应用在众多产品...
在IT行业中,Delphi是一种基于Object Pascal编程语言的集成开发环境(IDE),它以其高效、快速的编译器和丰富的组件库而闻名。本主题聚焦于利用Delphi进行3D显示系统的开发,这是一个涵盖图形学、系统编程和用户界面...
本章节主要介绍了如何快速地进入Delphi编程的世界。 - **Delphi安装**:详细讲解了Delphi开发环境的安装过程,包括系统需求、安装步骤以及安装过程中需要注意的一些细节问题。 - **Delphi编译器和工具链**:对...
在软件开发的世界里,逆向工程是一项至关重要的技术,它可以帮助开发者理解已有的程序代码,从而进行学习、调试或者改进。DEDE Delphi反编译软件,作为一款专为Delphi程序设计的逆向工程工具,为开发者提供了查看和...
Delphi 从右边开始截取指定个数的字符串,使用RightStr截取字符串的例子,这个功能平时在处理字符时使用频繁,除了右侧截取,还有左侧截取,今天这个右侧截取,从示例文字开始,从右侧截取5个字符串保留下来。...
在编程世界中,Delphi 是一个强大的对象 Pascal 开发环境,以其高效、快速的编译能力和直观的可视化设计界面而备受青睐。本项目“Delphi 贪吃蛇游戏”提供了一个非常适合初学者学习的例子,它利用了 Delphi 的核心...