欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年delphi开发经验 .pdf

    • 资源ID:27251507       资源大小:79.34KB        全文页数:8页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年delphi开发经验 .pdf

    开发环境- Delphi 7 是一个很经典的版本, 在 Win2000/XP 下推荐安装Delphi 7 来开发软件,在 Vista下推荐使用Delphi 2007 开发软件。安装好Delphi 7 后,应立即安装Delphi 7 Update Pack 1 ,Delphi 2007 则建议尽量安装最新的版本。工欲善其事,必先利其器,为了提升开发效率,为了能更加得心应手的处理接下来的开发工作,我们有必要安装一些有用的开发辅助工具(Delphi 将此类插件以Expert 命名) 。首先推荐的是DelForExp 这个源代码格式化工具,集成在 IDE 里,使用相当方便。即使我所写代码的风格非常好,但是还是免不了阅读某些人写的乱七八糟的代码,这时DelForExp 就能派上用场了,1 秒钟就能让代码能看上去顺眼多了。GExperts 曾经是一个非常出名的工具,可现在都不怎么更新了,里面有几个功能还是值得一用,比如Grep Search, Replace Components, Code Proofreader 等。强烈推荐安装CnPack IDE 专家包,相信我,它会让你的Delphi 更好用。 Delphi 7 是不支持重构的,因此我还建议安装 Castalia,这个工具中某些功能还是很不错的。CodeRush 一直都是Delphi 下最强大的工具,可是由于安装后比较容易与其他工具冲突,让人不得不忍痛割爱。Delphi 7 下建议安装 Delphi SpeedUp 这个 IDE 加速工具, 其原理是在Delphi 启动前, 替换 RTL 的函数为来自 FastCode工程的执行效率更高的函数。ModelMaker Code Explorer 为 Delphi 增加了一些方便重构代码的功能,值得安装使用。第一次启动Delphi 7,关闭设置中的Delphi Direct 以禁止 Delphi 访问 Borland 服务器,勾选 Show Compiler Progress 选项以便编译程序时可以看见编译进度,然后分别设置所安装的专家的选项,再对Delphi 的窗体布局按自己的喜好调整,调整好了然后将其保存为默认布局。 关闭工程,设置好默认的工程选项。接下来就可以安装控件包了。如果是在项目小组中配置开发环境,因为可能所需的控件比较多,安装比较麻烦, 建议由一个有经验的开发人员将那些散装控件预编译后做成安装程序供小组其他成员安装。本人看法:Delphi7 我也用了很长时间, 确实是很经典的版本。我现在用的是Delphi 2007 Update3 ,我觉得这个版本算是比较成熟的,没有发现什么重大的Bug。 DelForExp 这个工具我用的很少,但是如果要阅读比人的代码我也觉得很有必要。GExperts 这个工具很好,我最喜欢的就是 Replace Components 功能,因为我经常需要对某些控件不满意,找到更好的我就要替换,如果没有这个工具,手动替换相当的麻烦。CnPack 我也用了一下,给我的感觉很差,与很多东西有冲突,后来我就干脆不用了。CodeRush 也是,我觉得没有必要去用。- 软件设计- 在整理自己的思路的时候可以采用PersonalBrain 来画思维导图,这是一个拓展脑力,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 激发思维的一个活动,并且将自己的想法全部记录下来,并在整理的过程当中可以发现内在联系与更多的问题,在接下来的设计中加以考虑。做设计需要画图,除了Visio 外,我推荐EDraw Soft Diagrammer 。Enterprise Architect 用来做 UML 设计是很好的选择。ModelMaker为 Delphi 增加 UML 支持,可以保持设计与代码双向同步,非常不错的工具。作为一个Delphi 产品的设计人员,应该具有广阔的视野,熟悉.NET、Java 下优秀的框架设计,熟悉Delphi 类库的源代码,其中总有我们可以借鉴与学习的地方,根据公司的实际情况以及具体需求有选择的在产品开发中进行实践,这样才能做出高质量的产品。本人看法:作者用的这个PersonalBrain 这个软件我还真没有用过,我一般整理都是用没有任何线条的纯白的打印纸,在上面天马行空,爱怎么画就怎么画,然后再整体分析整理。在思考的这个过程是我最痛苦的时候,经常要考虑方方面面的问题,哪个弄不好都要冥思苦想,不过当你把所有的问题都想清楚了,那种成功的感觉简直是无与伦比。到现在为止我都还是比较讨厌 UML 的东西,也许是我太肤浅、能力不够,我总觉得UML 的东西太繁琐。流程图、时序图什么的我都偏好永Word 来画,没有UML 的那么多条条框框。我也没有想过代码的自动生成,我总觉得机器生成的东西没有活力。关于广阔的视野的问题,我非常非常赞同作者的看法。作为设计人员如果不去了解其他语言的优点、 其他开发框架的设计模式,我想就会成为井底之蛙。Delphi 给我们最大的财富就是开源, 任何不懂的东西,不能确定的东西你都可以到源代码中去寻找,一定能找到答案的。Delphi 的代码是由很多开发人员编写的,其中风格可能略有不同,但大家的想法和目标是一致的,阅读不会有太大的影响。- 软件开发- 数据结构是软件开发中的基础,在开发项目前, 你一定应该准备好如TStack, THashtable, TQueue, TCollection, TMap, TBag, TSet, TAssociation之类的容器类,然后在以后的开发中根据需要选用合适的数据结构,避免不要直接使用指针与TList 。 如有需要, 可以先将TStream,TRegistry 等常用类继承实现,也就是做一个包装,这样就为以后的开发中就留下了一个可以随时加入扩展的接口。网上也能找到DGL(The Delphi Generic Library)来为 Delphi 增加泛型支持,实际上也可以称之为一个模板库,但是这个库我也只使用过一次,网上也未见其他人使用,因此到底是否可靠还有待于实践验证。说到模板库,我还想起一个DEEX ,这是一个预处理器,可以让你使用类似STL 相似的语法,其中也内置了DTL(Delphi Template Library)库。关于 AOP,Delphi 这方面完全不能与Java 或.NET 相比,所能用的技术也就只能是动态代理或 Hook 来实现,虽然也出现了MeAOP 之类的框架,我还是建议从设计上去解决这类名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - AOP 的需求,或者也可以考虑采用在DailyBuild的时候做编译前预处理(比如设计成LogAction类似于 .NET 的属性特性来修饰特定的方法,当然预处理器必须自己开发)。与开发有关的文件都应该被管理起来,而不仅仅是只管理代码,一开始就要做好目录规划,特别要注意将代码与运行时所需的资源分隔开,一般来说,可以分为Doc,Src,Res,Misc 四大类, Doc 存放全部相关的文档,里面建立具体的分类目录;Src 存放编译所需的文件,比如源代码和帮助的源文件;Res存放制作安装包与发布软件所需的各种资源文件,比如图片、网页等。这样做将为接下来的DailyBuild做好准备。Delphi 没有 Package与 Namespace的概念,因此只能利用目录上的物理划分代替逻辑划分,将同一性质的单元放置到同一目录,根据需要再划分更多子目录来存放单元。程序的界面上的控件最好都重新规范命名,切忌在代码中出现类似Label1.txt := abc;之类的代码。开发者应该熟悉Delphi 所提供的系统函数,切忌自己去实现Delphi 已经提供了的函数, 一则这样做的效率不高,二则你自己所写的代码没有经过完全的测试,很有可能存在未妥善处理的情况。我们不提倡重复发明轮子,特别是在正式的开发中这样做。开发中把握面向对象设计的原则:单一职责、开放封闭、里氏替换、依赖倒置、接口隔离、高内聚低耦合。 代码就是最好的注释,变量命名尽可能的表达其本身的意义,最好的注释就是不需要注释也能很容易的看懂代码,只在需要的地方加上注释。开发人员应该将自己所写的代码视之为供别人使用的产品,不要随意的将方法声明为公开方法,只提供给别人需要的方法,每个公用方法上都应该用注释标明其功能。程序编译过程中出现的任何警告或提示都应该认真对待,争取消除每一个警告或提示,这样做是避免一些代码中可能存在的隐患。有经验的程序员完成特定的功能会充分考虑可变的情况,将这些地方提取出来,定义为方法参数或者从配置文件中读取,这样即使需求发生变化,也能轻松应对。 要写出易维护的程序应该在软件配置化和程序动态化上下功夫。特别提一提程序动态化,现在开发网络游戏的很多,而且一般都会用到脚本引擎Lua 来实现部分逻辑,这样在开发后期的调整相对变得轻松一点, 以后在服务器上做修改也不会要求重新启动程序。当然在一般的项目或产品中一样可以考虑使用脚本引擎,当然不一定要用Lua,还可以有很多别的选择。比如:DelphiWebScript ,RemObjects Pascal Script , AUTOMA atPASCAL SCRIPTER,FastScript,Innerfuse Pascal Script。如果还有更高的要求,还可以考虑利用COCO/R (ParserBuilder) 来实现自己的语法解析器。开发中通常会遇到自己不能解决的问题,要知道你遇到的问题别人可能早就遇到过并解决,因此请教他人或者请教Google 通常是最好的选择。上论坛提问是没有效率的方法。本地的知识库也能派上用场,比如 的离线库CodeFinder,大富翁离线资料库,- 控件开发- 控件分为不可视控件与可视控件,不可视控件其实与一般的类没什么太大的区别,只需要公布需要公布的属性为Published,如有需要也可以设计并注册自己的属性编辑器。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 开发控件也有专业的开发工具Eagle CDK 和 Eagle reAct,您不仅可以很方便的创建类,还可以在运行期测试控件,可以很方便的修改属性,即时看到效果,大大提高了开发效率。- 软件破解- 愈来愈多的开发者开始采用RSA 来作为注册的加密算法,效果还算不错,虽然仍不能防止被爆破,但是至少不会出现(内存 )注册机。对软件加壳也不是什么防弹衣,对于有经验的破解者几分钟就可以用OllyDbg 从内存 Dump(先用 Process Explorer 杀掉屏蔽调试工具的线程),接着就是用Import REConstructor 修复 IAT,再用 Lord PE 对 EXE 进行优化。DeDe 可以让破解者看到程序内的资源,事件,既可以静态分析,也可以在OllyDbg 中对分析出的地址进行动态调试。破解Delphi 控件当然也可以用DeDe,但是我们有更好的选择,那就是DCUcu与Dcu2Pas, 可以将 Dcu 直接反编译成汇编代码,通过静态分析其中的字符串以及调用的API ,破解真的是很容易。只有做到知己知彼,才能做到有的放矢,反破解就是做到以最小的保护代价来使得破解者付出极大的破解行动。- 版本控制- 版本控制最流行的就是VSS, CVS, SVN ,我比较喜欢SVN ,但是由于在Delphi 下始终没有很方便的连接SVN 的插件,因此,仍然是Delphi+VSS 是最方便的版本控制的选择。VssConneXion 是专门用于为Delphi 增加 VSS 支持的插件, 确实为开发人员带来了无比的便利。Delphi+TortoiseCVS 与 Delphi+TortoiseSVN同样也是不错的选择。VSS 最大的缺点就是只能在内网中使用,除了可以透过VPN来允许远程访问外,我们还可以用Dynamsoft SourceAnyWhere 或 SourceOffSite 实现 VSS 通过 Internet 访问。当然 VSS 2005 也支持 Internet访问。如果你是个人开发者,觉得使用VSS 也太麻烦,不妨试试FileHamster 。本人看法:版本控制我最喜欢的是SVN, 我用的是 Delphi+ToroiseSVN ,文件的控制全部是手动更新文件。以前的时候我做.Net 开发的使用用的VSS 让我痛苦不堪,特别是集成在VS Studio里边, 经常出现一些让人很头疼的问题。版本控制我觉得有一点特别重要:不管你是一个人开发还是几个人开发,都要用版本控制,其中的种种好处我相信你坚持了就会知道。源代码的安全问题也是版本控制中不可缺少的一环,我个人的做法是源代码放在公司内网,并且拆名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 分成很多不同的模块放在不同的地方,如果公网用户需要访问就用Win2000/2003 Server 架设一个 VPN 服务器。- 软件测试- 在提交给测试人员前,要求开发人员首先做自测,不要出现给测试人员的是一个都不能运行的版本,这样是对测试人员的不尊重。Java有 JUnit,.Net 有 NUnit ,同样 Delphi 也有 DUnit ,这主要是用来做单元测试用的,特别是在不停的代码重构中,能够及时发现修改出的问题,是每日构建中的重要组成部分。开发人员在完成功能前就写好测试用例代码,也称之为测试驱动开发,让自己作为自己代码的第一个用户, 以确保自己提交的代码是易用的、正确的; 让测试人员更专注于发现那些隐藏的逻辑性错误。TestComplete是 AutomatedQA 出品的专业自动化测试工具,与 Rational Robot 和 Mercury WinRunner 相比,特别适合用于Delphi 开发的程序的测试。自动化测试可以减轻测试人员的工作量, 提高他们的测试效率。当然,采用自动化测试对于测试人员的要求就更高了,因为需要测试人员维护测试脚本。- 缺陷管理- 测试人员的报告需要反馈给开发者,同时又要知道开发者的修改意见,上级主管需要知道当前的测试进度与修改情况,这一切都是需要缺陷管理系统所管理的。通常缺陷管理都是做成 B/S 系统,当然也有提供客户端的。JIRA, Mantis, Bugzilla, Axosoft OnTime, Axosoft PowerTrack, Bug Tracker, BugFree, Dev Hound, SourceGear Dragnet, TestTrack Pro, URTracker ,同样有很多选择。- 内存泄漏- Java与.NET 自身有垃圾回收机制,而且没有指针,除了外部资源(数据连接,文件等)需要使用完关闭, 让开发人员是不需要主动管理内存释放的,Delphi 却是需要自己管理对象的创建与释放(Create and Free, New and Dispose, GetMem and FreeMem ) ,在这一点上有些初学者往往不太注意,应坚持谁创建谁负责释放的原则。虽然Delphi 下没有垃圾回收机制,但是有工具可以帮助我们检查内存泄漏。MemProof 就是一款专门用来检查内存等资源分配情况的软件。作者 Atanas Stoyanov 后来加入了 AutomatedQA 公司。AQtime 是 AutomatedQA 出品的专业的测试软件,包括性能分析, 内存与资源分配情况,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 最有用的当然是性能分析与内存泄漏检测。Fast Memory Manager ,一款优秀的内存管理器,Delphi 2006 以后就采用FMM 替换了BorlandMM ,Delphi 7 下也可以加挂FMM 来提升程序运行性能。同时FMM 也是一个绝佳的内存泄漏测试工具。推荐引入 FMM 到工程, 在开发过程中尽早的发现并解决内存泄漏问题,是比较理想的解决办法。- 错误定位- 测试人员在错误追踪系统上提出了测试出来的错误,开发人员就要进行针对解决,首先就会遇到如何定位一些复杂的错误。首先就是打断点在Delphi 里跟踪调试运行,如果是在线程里或是不能跟踪调试的情况下,可以使用OutputDebugString 进行跟踪输出,然后在View-Debug Windows-Event Log里查看。 CodeSite 是一款让开发者可以很方便的调试工具,特别是支持远程输出。此外还有小巧并且开源的Overseer 也是不错的调试工具。JEDI Code Library 里的 Debug 单元功能同样强大。AV 错误是 Delphi 中比较常见的未知错误。通常可以挂接Application.OnException ,来自己处理所有的异常错误。在这方面,有专业的软件可以帮助我们处理异常,EurekaLog 就是一款专业的异常处理软件,可以告诉我们非常详细的错误信息,使得定位错误变得更轻松。madCollection 里的 madExcept 也是一款非常强的异常处理软件,- 制作安装- Inno Setup 与 NSIS 都是免费的,功能强大的专业安装制作软件,Inno Setup 是 Delphi开发的, 因此特别适合Delphi 开发的产品的安装程序制作。NSIS 比较适合C 开发的产品的安装程序制作。推荐Inno Setup + ISSI (Inno Setup Script Includes) + ISTool来制作安装程序。- 每日构建- 如果一个公司还是采用手工方式编译发布软件,那一定会出问题, 比如将某个中文文件打包到英文版里发布出去,比如发布的软件的版本并非最终的版本。为了确保软件发布的稳定性,不管大小公司都应该制定一套软件发布流程,并用工具来固化这个流程。流程首先是从版本控制软件获取最新或特定版本的代码以及资源,对代码以及资源做必名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 要的预处理(比如修改版本号,自动代码审查),编译代码,编译资源(例如帮助),编译中出现错误自动反馈(比如发送邮件),编译成功后自动进行单元测试(测试失败也会自动反馈;编译成功但是出现的警告与提示也应自动反馈),测试通过后制作安装程序,发布软件(比如上传到某个FTP,复制到某个目录) 。这些流程很繁琐,如果由人来执行是不可靠的,所以要由软件来实现这个流程。代码审查:检查代码中是否存在不符合事先约定的代码规范的动作。比如.NET 下的FxCop 就是用来做代码审查。在Delphi 中需要自己实现审查器,加上利用正则表达式定义的代码审查规则 (比如控件命名是否规范,窗体上是否使用的英文字体,公用方法上是否标有注释等)。代码审查用人工实现是没有效率的,同时也是不可靠的,利用DailyBuild来实现自动代码审查能够保证代码质量,甚至于提前发现代码中的隐患。可以用脚本实现每日构建:比如 Perl, PowerShell, 批处理等, 当然只适合一些简单场合,而且对于维护脚本的人员的要求也相对较高。Java有 Ant,.NET 有 Nant,同样 Delphi 有 Want (为什么叫Want 而非 Dant,原来 Want是取 Windows Ant 之意,虽然Kylix 可以在 Linux 运行, Free Pascal可以在更多的平台下运行,但是想到 Want 是一个命令行工具,want clean, want compile, want build ,看起来很不错,于是作者还是决定用Want), Want 是用 XML 作为配置文件,维护起来稍微有点麻烦,不过维护好 XML 以后执行构建的时候有WantUI 界面可以使用,还算挺方便的。FinalBuilder ,一个完全的图形化构建工具,支持脚本,很好用,支持的工具也很多,唯一的缺点就是这是一个收费软件。Visual Build Professional,同样是一个可视化的构建工具,也支持脚本,支持宏,还支持虚拟机,同样也是一个收费软件。- 网络资源- http:/ 上有很多的Delphi 资源,里面有不少优秀的免费控件与代码。随着时间的流逝,我们手上应该积累了很多的开发资源,比如电子书、文章、源码、开发工具等等, 应该将其准确命名并分类存放于不同的目录中,如果体积太大, 可以刻录成光盘并用 WhereIsIt 编目后妥善保管。像那些比较零散的文章、代码等,可以考虑使用一个文档管理软件管理起来,比如MyBase、EverNote 等。管理的知识可以与他人分享交流,共同学习提高。- 其他补充- JEDI Project:JEDI Code Library 和 JEDI VCL 是 Delphi 下最大的两个开放源代码的工名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 程,值得好好研究。KOL+MCK :VCL的确很方便,可是代价便是程序体积的增加,KOL ( Key Objects Library )+MCK (Mirror Classes Kit )便是 VCL 的一个替代品。DWPL(The Delphi WDosX Project Library) :让 Delphi 编译的 Console 程序能够运行在DOS 下。 换句话说就是开发32 位的 DOS 程序,用 Turbo/Borland Pascal 开发的是16 位程序。Free Pascal/Lazarus:Free Pascal是一个 32 位的编译器,并且支持多平台,也可以算是Delphi 的一个近亲, 另外一个是TMT Pascal。Lazarus 则是一个Free Pascal的集成开发环境,界面类似 Delphi 。本文来自 Delphi 园地, 转载请标明出处: http:/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

    注意事项

    本文(2022年delphi开发经验 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开