2022年delphi开发经验 .pdf
《2022年delphi开发经验 .pdf》由会员分享,可在线阅读,更多相关《2022年delphi开发经验 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、开发环境- Delphi 7 是一个很经典的版本, 在 Win2000/XP 下推荐安装Delphi 7 来开发软件,在 Vista下推荐使用Delphi 2007 开发软件。安装好Delphi 7 后,应立即安装Delphi 7 Update Pack 1 ,Delphi 2007 则建议尽量安装最新的版本。工欲善其事,必先利其器,为了提升开发效率,为了能更加得心应手的处理接下来的开发工作,我们有必要安装一些有用的开发辅助工具(Delphi 将此类插件以Expert 命名) 。首先推荐的是DelForExp 这个源代码格式化工具,集成在 IDE 里,使用相当方便。即使我所写代码的风格非常好,
2、但是还是免不了阅读某些人写的乱七八糟的代码,这时DelForExp 就能派上用场了,1 秒钟就能让代码能看上去顺眼多了。GExperts 曾经是一个非常出名的工具,可现在都不怎么更新了,里面有几个功能还是值得一用,比如Grep Search, Replace Components, Code Proofreader 等。强烈推荐安装CnPack IDE 专家包,相信我,它会让你的Delphi 更好用。 Delphi 7 是不支持重构的,因此我还建议安装 Castalia,这个工具中某些功能还是很不错的。CodeRush 一直都是Delphi 下最强大的工具,可是由于安装后比较容易与其他工具冲突
3、,让人不得不忍痛割爱。Delphi 7 下建议安装 Delphi SpeedUp 这个 IDE 加速工具, 其原理是在Delphi 启动前, 替换 RTL 的函数为来自 FastCode工程的执行效率更高的函数。ModelMaker Code Explorer 为 Delphi 增加了一些方便重构代码的功能,值得安装使用。第一次启动Delphi 7,关闭设置中的Delphi Direct 以禁止 Delphi 访问 Borland 服务器,勾选 Show Compiler Progress 选项以便编译程序时可以看见编译进度,然后分别设置所安装的专家的选项,再对Delphi 的窗体布局按自己的
4、喜好调整,调整好了然后将其保存为默认布局。 关闭工程,设置好默认的工程选项。接下来就可以安装控件包了。如果是在项目小组中配置开发环境,因为可能所需的控件比较多,安装比较麻烦, 建议由一个有经验的开发人员将那些散装控件预编译后做成安装程序供小组其他成员安装。本人看法:Delphi7 我也用了很长时间, 确实是很经典的版本。我现在用的是Delphi 2007 Update3 ,我觉得这个版本算是比较成熟的,没有发现什么重大的Bug。 DelForExp 这个工具我用的很少,但是如果要阅读比人的代码我也觉得很有必要。GExperts 这个工具很好,我最喜欢的就是 Replace Components
5、 功能,因为我经常需要对某些控件不满意,找到更好的我就要替换,如果没有这个工具,手动替换相当的麻烦。CnPack 我也用了一下,给我的感觉很差,与很多东西有冲突,后来我就干脆不用了。CodeRush 也是,我觉得没有必要去用。- 软件设计- 在整理自己的思路的时候可以采用PersonalBrain 来画思维导图,这是一个拓展脑力,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 激发思维的一个活动,并且将自己的想法全部记录下来,并
6、在整理的过程当中可以发现内在联系与更多的问题,在接下来的设计中加以考虑。做设计需要画图,除了Visio 外,我推荐EDraw Soft Diagrammer 。Enterprise Architect 用来做 UML 设计是很好的选择。ModelMaker为 Delphi 增加 UML 支持,可以保持设计与代码双向同步,非常不错的工具。作为一个Delphi 产品的设计人员,应该具有广阔的视野,熟悉.NET、Java 下优秀的框架设计,熟悉Delphi 类库的源代码,其中总有我们可以借鉴与学习的地方,根据公司的实际情况以及具体需求有选择的在产品开发中进行实践,这样才能做出高质量的产品。本人看法:
7、作者用的这个PersonalBrain 这个软件我还真没有用过,我一般整理都是用没有任何线条的纯白的打印纸,在上面天马行空,爱怎么画就怎么画,然后再整体分析整理。在思考的这个过程是我最痛苦的时候,经常要考虑方方面面的问题,哪个弄不好都要冥思苦想,不过当你把所有的问题都想清楚了,那种成功的感觉简直是无与伦比。到现在为止我都还是比较讨厌 UML 的东西,也许是我太肤浅、能力不够,我总觉得UML 的东西太繁琐。流程图、时序图什么的我都偏好永Word 来画,没有UML 的那么多条条框框。我也没有想过代码的自动生成,我总觉得机器生成的东西没有活力。关于广阔的视野的问题,我非常非常赞同作者的看法。作为设计
8、人员如果不去了解其他语言的优点、 其他开发框架的设计模式,我想就会成为井底之蛙。Delphi 给我们最大的财富就是开源, 任何不懂的东西,不能确定的东西你都可以到源代码中去寻找,一定能找到答案的。Delphi 的代码是由很多开发人员编写的,其中风格可能略有不同,但大家的想法和目标是一致的,阅读不会有太大的影响。- 软件开发- 数据结构是软件开发中的基础,在开发项目前, 你一定应该准备好如TStack, THashtable, TQueue, TCollection, TMap, TBag, TSet, TAssociation之类的容器类,然后在以后的开发中根据需要选用合适的数据结构,避免不要
9、直接使用指针与TList 。 如有需要, 可以先将TStream,TRegistry 等常用类继承实现,也就是做一个包装,这样就为以后的开发中就留下了一个可以随时加入扩展的接口。网上也能找到DGL(The Delphi Generic Library)来为 Delphi 增加泛型支持,实际上也可以称之为一个模板库,但是这个库我也只使用过一次,网上也未见其他人使用,因此到底是否可靠还有待于实践验证。说到模板库,我还想起一个DEEX ,这是一个预处理器,可以让你使用类似STL 相似的语法,其中也内置了DTL(Delphi Template Library)库。关于 AOP,Delphi 这方面完全
10、不能与Java 或.NET 相比,所能用的技术也就只能是动态代理或 Hook 来实现,虽然也出现了MeAOP 之类的框架,我还是建议从设计上去解决这类名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - AOP 的需求,或者也可以考虑采用在DailyBuild的时候做编译前预处理(比如设计成LogAction类似于 .NET 的属性特性来修饰特定的方法,当然预处理器必须自己开发)。与开发有关的文件都应该被管理起来,而不仅仅是只管理代码
11、,一开始就要做好目录规划,特别要注意将代码与运行时所需的资源分隔开,一般来说,可以分为Doc,Src,Res,Misc 四大类, Doc 存放全部相关的文档,里面建立具体的分类目录;Src 存放编译所需的文件,比如源代码和帮助的源文件;Res存放制作安装包与发布软件所需的各种资源文件,比如图片、网页等。这样做将为接下来的DailyBuild做好准备。Delphi 没有 Package与 Namespace的概念,因此只能利用目录上的物理划分代替逻辑划分,将同一性质的单元放置到同一目录,根据需要再划分更多子目录来存放单元。程序的界面上的控件最好都重新规范命名,切忌在代码中出现类似Label1.t
12、xt := abc;之类的代码。开发者应该熟悉Delphi 所提供的系统函数,切忌自己去实现Delphi 已经提供了的函数, 一则这样做的效率不高,二则你自己所写的代码没有经过完全的测试,很有可能存在未妥善处理的情况。我们不提倡重复发明轮子,特别是在正式的开发中这样做。开发中把握面向对象设计的原则:单一职责、开放封闭、里氏替换、依赖倒置、接口隔离、高内聚低耦合。 代码就是最好的注释,变量命名尽可能的表达其本身的意义,最好的注释就是不需要注释也能很容易的看懂代码,只在需要的地方加上注释。开发人员应该将自己所写的代码视之为供别人使用的产品,不要随意的将方法声明为公开方法,只提供给别人需要的方法,每
13、个公用方法上都应该用注释标明其功能。程序编译过程中出现的任何警告或提示都应该认真对待,争取消除每一个警告或提示,这样做是避免一些代码中可能存在的隐患。有经验的程序员完成特定的功能会充分考虑可变的情况,将这些地方提取出来,定义为方法参数或者从配置文件中读取,这样即使需求发生变化,也能轻松应对。 要写出易维护的程序应该在软件配置化和程序动态化上下功夫。特别提一提程序动态化,现在开发网络游戏的很多,而且一般都会用到脚本引擎Lua 来实现部分逻辑,这样在开发后期的调整相对变得轻松一点, 以后在服务器上做修改也不会要求重新启动程序。当然在一般的项目或产品中一样可以考虑使用脚本引擎,当然不一定要用Lua,
14、还可以有很多别的选择。比如:DelphiWebScript ,RemObjects Pascal Script , AUTOMA atPASCAL SCRIPTER,FastScript,Innerfuse Pascal Script。如果还有更高的要求,还可以考虑利用COCO/R (ParserBuilder) 来实现自己的语法解析器。开发中通常会遇到自己不能解决的问题,要知道你遇到的问题别人可能早就遇到过并解决,因此请教他人或者请教Google 通常是最好的选择。上论坛提问是没有效率的方法。本地的知识库也能派上用场,比如 的离线库CodeFinder,大富翁离线资料库,- 控件开发- 控件
15、分为不可视控件与可视控件,不可视控件其实与一般的类没什么太大的区别,只需要公布需要公布的属性为Published,如有需要也可以设计并注册自己的属性编辑器。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 开发控件也有专业的开发工具Eagle CDK 和 Eagle reAct,您不仅可以很方便的创建类,还可以在运行期测试控件,可以很方便的修改属性,即时看到效果,大大提高了开发效率。- 软件破解- 愈来愈多的开发者开始采用RSA
16、来作为注册的加密算法,效果还算不错,虽然仍不能防止被爆破,但是至少不会出现(内存 )注册机。对软件加壳也不是什么防弹衣,对于有经验的破解者几分钟就可以用OllyDbg 从内存 Dump(先用 Process Explorer 杀掉屏蔽调试工具的线程),接着就是用Import REConstructor 修复 IAT,再用 Lord PE 对 EXE 进行优化。DeDe 可以让破解者看到程序内的资源,事件,既可以静态分析,也可以在OllyDbg 中对分析出的地址进行动态调试。破解Delphi 控件当然也可以用DeDe,但是我们有更好的选择,那就是DCUcu与Dcu2Pas, 可以将 Dcu 直接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年delphi开发经验 2022 delphi 开发 经验
限制150内