其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

浅谈Delphi开发经验[1]


发布日期:2018年06月15日
 
浅谈Delphi开发经验[1]

Delphi 是一个很经典的版本在Win/XP下推荐安装Delphi 来开发软件在Vista下推荐使用Delphi 开发软件安装好Delphi 应立即安装Delphi Update Pack Delphi 则建议尽量安装最新的版本工欲善其事必先利其器为了提升开发效率为了能更加得心应手的处理接下来的开发工作我们有必要安装一些有用的开发辅助工具(Delphi将此类插件以Expert命名)首先推荐的是DelForExp这个源代码格式化工具集成在IDE里使用相当方便即使我所写代码的风格非常好但是还是免不了阅读某些人写的乱七八糟的代码这时DelForExp就能派上用场了秒钟就能让代码能看上去顺眼多了GExperts曾经是一个非常出名的工具可现在都不怎么更新了里面有几个功能还是值得一用比如Grep Search Replace Components Code Proofreader等强烈推荐安装CnPack IDE 专家包相信我它会让你的Delphi更好用Delphi 是不支持重构的因此我还建议安装Castalia这个工具中某些功能还是很不错的CodeRush一直都是Delphi下最强大的工具可是由于安装后比较容易与其他工具沖突让人不得不忍痛割爱Delphi 下建议安装Delphi SpeedUp这个IDE加速工具其原理是在Delphi启动前替换RTL的函数为来自FastCode工程的执行效率更高的函数ModelMaker Code Explorer为Delphi增加了一些方便重构代码的功能值得安装使用

第一次启动Delphi 关闭设置中的Delphi Direct以禁止Delphi访问Borland服务器勾选Show Compiler Progress选项以便编译程序时可以看见编译进度然后分别设置所安装的专家的选项再对Delphi的窗体布局按自己的喜好调整调整好了然后将其保存为默认布局关闭工程设置好默认的工程选项接下来就可以安装控件包了如果是在项目小组中配置开发环境因为可能所需的控件比较多安装比较麻烦建议由一个有经验的开发人员将那些散装控件预编译后做成安装程序供小组其他成员安装

软件设计

在整理自己的思路的时候可以采用PersonalBrain来画思维导图这是一个拓展脑力激发思维的一个活动并且将自己的想法全部记录下来并在整理的过程当中可以发现内在联系与更多的问题在接下来的设计中加以考虑做设计需要画图除了Visio外我推荐EDraw Soft DiagrammerEnterprise Architect用来做UML设计是很好的选择ModelMaker为Delphi增加UML支持可以保持设计与代码双向同步非常不错的工具

作为一个Delphi产品的设计人员应该具有广阔的视野熟悉NETJava下优秀的框架设计熟悉Delphi类库的源代码其中总有我们可以借鑒与学习的地方根据公司的实际情况以及具体需求有选择的在产品开发中进行实践这样才能做出高质量的产品

软件开发

数据结构是软件开发中的基础在开发项目前你一定应该准备好如TStack THashtable TQueue TCollection TMap TBag TSet TAssociation之类的容器类然后在以后的开发中根据需要选用合适的数据结构避免不要直接使用指针与TList如有需要可以先将TStreamTRegistry等常用类继承实现也就是做一个包装这样就为以后的开发中就留下了一个可以随时加入扩展的接口

网上也能找到DGL(The Delphi Generic Library)来为Delphi增加泛型支持实际上也可以称之为一个模板库但是这个库我也只使用过一次网上也未见其他人使用因此到底是否可靠还有待于实践验证说到模板库我还想起一个DEEX这是一个预处理器可以让你使用类似STL相似的语法其中也内置了DTL(Delphi Template Library)库

关于AOPDelphi这方面完全不能与Java或NET相比所能用的技术也就只能是动态代理或Hook来实现虽然也出现了MeAOP之类的框架我还是建议从设计上去解决这类AOP的需求或者也可以考虑采用在DailyBuild的时候做编译前预处理(比如设计成{LogAction}类似于NET的属性特性来修饰特定的方法当然预处理器必须自己开发)

与开发有关的文件都应该被管理起来而不仅仅是只管理代码一开始就要做好目录规划特别要注意将代码与运行时所需的资源分隔开一般来说可以分为DocSrcResMisc四大类Doc存放全部相关的文档里面建立具体的分类目录Src存放编译所需的文件比如源代码和帮助的源文件Res存放制作安装包与发布软件所需的各种资源文件比如图片网页等这样做将为接下来的DailyBuild做好准备

Delphi没有Package与Namespace的概念因此只能利用目录上的物理划分代替逻辑划分将同一性质的单元放置到同一目录根据需要再划分更多子目录来存放单元

程序的界面上的控件最好都重新规范命名切忌在代码中出现类似Labeltxt := abc;之类的代码开发者应该熟悉Delphi所提供的系统函数切忌自己去实现Delphi已经提供了的函数一则这样做的效率不高二则你自己所写的代码没有经过完全的测试很有可能存在未妥善处理的情况我们不提倡重复发明轮子特别是在正式的开发中这样做开发中把握面向对象设计的原则单一职责开放封闭里氏替换依赖倒置接口隔离高内聚低耦合代码就是最好的注释变量命名尽可能的表达其本身的意义最好的注释就是不需要注释也能很容易的看懂代码只在需要的地方加上注释开发人员应该将自己所写的代码视之为供别人使用的产品不要随意的将方法声明为公开方法只提供给别人需要的方法每个公用方法上都应该用注释标明其功能程序编译过程中出现的任何警告或提示都应该认真对待争取消除每一个警告或提示这样做是避免一些代码中可能存在的隐患

[] []

               

上一篇:浅谈Delphi开发经验[2]

下一篇:好用的Delphi字符串