在平台和产品合作开发的模式下,产品并不拥有全部代码。因此有些产品的问题,需要和平台代码联调,如果环境搭配对了,解决问题往往是比较容易的事情。但是没有调试环境下,仅仅静态查看代码就常常陷入僵局。
因此,环境安装是平台和产品程序员顺利高效合作的重要部分。这里面最为重要的是一键运行——拿来代码,打开工程,按Run——然后该干嘛干嘛。
但是现在的情况并不乐观。局部来自于delphi本身的设计不合理,也来自于我们对这个环境建立的过程不够重视。常常会遇到的问题是:
1. 需要目录来输出dcu文件和exe文件。包括 dcu/bin目录
2. 需要产品内的公用库。如函数库、类库、控件(常常还需要安装)。
3. 拿过来的文件和目录就是不完整的。
4. 需要自己建立数据库的连接。自己手工建立数据库,甚至是插入和修改数据。
5. 有些问题需要外部设备和硬件:比如软件狗
因应上面的问题,尽管说的是一键运行,但是涉及到的问题方方面面,其实是一个综合问题。我们考虑到以Want 工具为中心来解决它们:
1. want加入task来创建需要的目录
2. want加入task,在指定的仓库内export目录到当前工程的lib内
3. 因为源代码,库都在一个大目录内,因此需要解决问题时,一个目录一起丢过来就是,不存在文件不全的问题
4. 连接提出问题的程序员的中间件是一个简单的方法。更好的方法是提供问题的testcase,就只是运行这个testcase 就可以定位问题。
5. 提供设备的Mock:比如软件狗的Mock来模拟软件狗的运行。
仅仅是为了一键运行,在delphi内也是颇费思量,更不要说在delphi在平台模块化方案设计上经历的痛苦——我们花费了一周时间讨论,也没有很好的方法——现在明明有些是业务性的东西,也必须在平台内修改。因此最终的方法,还是迁移到dotnet上来。
引入want也要求目录结构更加规范合理,我们现在的做法通常是这样的:
src, 源代码
Lib,库
Test ,测试用例
Tool\want :want工具
Want.xml: want 任务文件
少用第三方控件。
采用svn export(subversion的导出工具)的方法,好处很多,包括“lib目录在svn内没有副本”,“ 开发者也不能改lib”,尽管“ 在客户端可能会有多个lib的副本”,不过现在这个缺点局限于客户端,而不会影响服务器。
这篇文章涉及到以下知识点:
1. TDD(Test-driven development 测试驱动开发),我们的书架上就有。以后随着trd和项目组合作的逐步深入,tdd的概念会越来越重要,进而成为每个程序员的必备工具箱之一。Testcase,Mock都是TDD的重要概念。
2. Delphi的自动化工具——Want 工具的使用。
3. Testcase中的Mock的概念。
分享到:
相关推荐
这是一套是一套非常完善的图形系统,适合在电力、煤炭、化工、仿真、网络、自动化等各种工业监控软件以及图形建模、图形管理、图形分析、中小型GIS系统、工作流、中文表格、表单、工程绘图等软件项目中应用。...
《数据库应用技术——Delphi应用系统开发》-蒋丽华-电子教案-2896
《数据库应用技术——Delphi应用系统开发》-蒋丽华-电子教案-2896.rar
Delphi 开发专家 Delphi 开发专家 Delphi 开发专家
Delphi-OpenCV (master) OpenCV version - 2.4.6 Development environment - Delphi XE2-XE4 Contributors: Laentir Valetov email:laex@bk.ru Mikhail Grigorev email: sleuthhound@gmail.com How to install: ...
Delphi手册----全面地介绍delphi的各项功能!.doc
Windows 外壳扩展编程--添加系统右键菜单运行指定程序(delphi)--实例
delphi开发数据库 实际应用 控件使用,网络等等
delphi modbus tcp控件 支持Delphi11
使用《DevExpressVCL 一键编译安装工具》快速备份还原DELPHI开发环境宝典.docx
Delphi自动备份-数据库备份程序..rar
Delphi IDE 中英文一键切换助手 - XE8 - 共享版Delphi IDE 中英文一键切换助手 - XE8 - 共享版Delphi IDE 中英文一键切换助手 - XE8 - 共享版
Delphi CodeSmith blog: ( http://blogs.RiverSoftAVG.com ) : http://blogs.riversoftavg.com/index.php/2014/05/12/performance - comparison - from - delphi - 2010 - to - delphi - xe6 - introduction/ It ...
我整理的软件开发工具--Delphi教学课件。对于教学很方便,内容较全。
QQ自动聊天软件——QQ聊神Delphi源代码..rar
Delphi 6集成开发环境-第七章(图形与图像)
Delphi 6集成开发环境 Delphi 6集成开发环境
Delphi 11.0 中英文一键切换助手(含操作说明)
支持Delphi语法着色,将代码库与资料库分开维护,大大增强了编辑器的功能,最小化时缩小到系统托盘,进行了内存优化,运行时仅占用几百K的内存,如果您是Delphi程序员或Delphi的爱好者、学习者,相信这个工具会给您...
Delphi4--delphi7的代码美化工具, 一键美化,ctrl+D 可以自行义美化格式。 不支持delphi2005以后的版本(它已经自带了哦)