文件编码 文件密级 最新发布日期 当前版本 Delphi 开发规范 郑重声明: XX 软件股份有限公司版权所有。本文档中任何部分未经 XX 软件股份有限公 司书面授权,不得将材料泄露给第三方,不得以任何手段、任何形式进行复制与传播。 变更履历 版本 日期 变更位置 变更理由/变更内容 1.0 新建 1.1 根据研发项目管理流程问题巡检检查出 的问题进行更新:增加变更履历 变更人 备注 目录 1 前言........................................................................................................................3 2 模块划分策略............................................................................................................3 3 模块间交互模式设计..................................................................................................3 4 编码与命名规范.........................................................................................................4 5 工程属性和版本命名规范............................................................................................4 6 模块依赖关系............................................................................................................4 7 代码构建体系规划.....................................................................................................5 8 7.1 源代码目录结构(要考虑第三方类库、公共组件的配置)......................................5 7.2 模块构建输出策略............................................................................................5 7.3 编译/构建选项.................................................................................................5 附录:构建脚本(ant 或 FinalBuilder 构建文件).........................................................6 8.1 8.2 附录 1 FinalBuilder [For Delphi] 工程构建指南.................................................6 8.1.1 引入.....................................................................................................6 8.1.2 设置...................................................................................................10 8.1.3 编译...................................................................................................11 附录 2 VA 开发规范介绍.................................................................................12 8.2.1 模块划分.............................................................................................12 8.2.2 VA 命名规则........................................................................................13 1 前言 Delphi 开发平台下,常规项目一般有两类,一类是对单元进行管理的单个 exe 工程文件,一类是通过包(dpk)来组织的大型系统。对于第二类大型系统,提供如下 工程组织建议。 2 模块划分策略 较大规模系统建议划分为基础模块和业务模块两大类。基础模块是系统的基本模 块,是指系统能够运行的必须依赖的模块。业务模块是系统的扩展模块,是指系统可 选加载的处理某类业务的模块。业务模块分为基本业务模块和辅助工具模块,基本业 务模块完成独立业务处理,辅助工具模块用来实现模块间的协同处理或扩展系统功能。 列出模块列表及功能说明(模块的粒度根据具体情况确定,基本原则是公共的、基础 的细,业务部分粗)在考虑模块划分时,要结合版本的划分、分支/合并策略 3 模块间交互模式设计 模块间的交互模式按照定义操作规范和发起调用的原则划分,可以分为:直接交 互、间接交互和辅助交互三种。 直接交互:(橙色表示规范定义者,箭头背向表示调用发起者,红线表示交互或 协同工作的双方) 直接交互模式,是指模块 之间有直接的引用或调用关系。 直接交互是一种高效、简单的 高耦合度交互模式。直接将使模块直接产生依赖关系,被引用的模块有任何调整时, 引用的模块都要做相应的调整,并且模块加载时,被引用的模块必须加载。直接交互 简单高效,因此常用于基本模块跟扩展模块直接的交互。 间接交互: 间接交互模式, 是指模块之间通过 基础模块或公共模 块交互的模式,协作模块之间没有直接的关系,通过公共模块定义的规范交互。间接 交互是一种高扩展性的低耦合度交互模式,所以是高扩展性系统中扩展模块间的常用 交互模式。 辅助交互:(虚线表示可能不存在,存在与否不影响规范的制定) 辅助交互模式, 是指模块提供遵守 某公共规范或自定 规范操作接口,通过第三方模块调用的交互模式,协作模块都被动的等待第三方模块 调用。辅助交互一般用于任务可以切割成几块完成,而且每小块任务之间相互独立的 情况下。辅助交互的模块之间的耦合度为零,所以可配置性很强,并且可以很好的支 持业务过程重组。需要对外提供业务服务的业务模块,尽量制定操作规范接口,以支 持此交互模式。 4 编码与命名规范 在遵循公司相关编码和命名规范的基础上,在这里补充具体项目的编码和命名规 范,比如增加前缀、比如结构化命名的分段规范 5 工程属性和版本命名规范 DLL/EXE/BPL 在编译后有一系列属性值,可以通过资源管理器浏览 版本命名规范包括内部测试版本和外部正式发布版本(在遵循公司相关规范的基 础上) 6 模块依赖关系 1. 模块依赖关系表各个模块必须按照编译的顺序列出 2. 清晰列出模块之间的依赖关系 3. 定义模块的粒度(比如包、单元、类),以及根据具体项目在模块依赖关系 表中表现的粒度的策略 模块依赖关系是编译时,确定模块需要前置编译顺序。通过整理模块依赖关系,可以 在进行每日构建时,保证正确的编译完成。 序 模块名称 依赖关系 11 V5SysMngJob 。。。 12 V5BusinessUI 。。。 13 V5SysMngUI 11、12 号 模块功能说明 … … 此处维护的是每个模块(包)依赖的包清单。 备注 7 代码构建体系规 划 7.1 源 代 码 目 录 结 构 (要考虑第三方类库、公共组件的配置) 7.2 模块构建输出策略 模块输出目标文件规划(DLL/EXE/DCU/BPL、运行包/设计包的考虑,Java 类 似)、输出目录结构、管理策略(根据具体项目情况确定模块的粒度) 7.3 编译/构建选项 根据具体 IDE 工具确定,先列出常用的编译指令或选项及其应用场合 8 附录:构建脚本(ant 或 FinalBuilder 构建文件) 8.1 附录 1 FinalBuilder [For Delphi] 工程构建指南 对于以包(dpk)组织的大型系统,工程打开、编译都是非常耗时的,因此利用工 具进行系统构建,是提高工作效率的有效手段。下面对如何利用 FinalBuilder 进行 Delphi 系统构建进行介绍说明。 8.1.1 引入 首先是新建一个 FinalBuilder 工程,引入需要进行编译的工程文件。步骤如下图 所示 步骤一 点击进入 Import Delphi Project Group: 步骤二 选择需要引入的工程的具体包文件,注意不要重复引入 步骤三 选择 Delphi 版本 步骤四 指定相关属性,也可以后面再设置 8.1.2 设置 工程文件引入后,需要进行必要的熟悉调整。对于 FinalBuilder 2 来说,主要是 改变两个地方,如下图所示 8.1.3 编译 完成相关工程的引入和配置后,还可以随时调整依赖关系,同时可以根据需要, 进行分组管理,方便配置管理员进行版本编译发布。常用调整功能快捷按钮如下: 补充一些基本概念 内容更丰富一些 补充命令行说明 8.2 附录 2 VA 开发规范介绍 8.2.1 模块划分 VA 目前划分为基础模块和业务模块两大类。按照目前 VA 的客户端、服务器端和 管理平台三部分划分方法,基础模块必须能保证这三部分分别启动和运行。业务模块 是系统的扩展模块,是指系统可选加载的处理某类业务的模块。业务模块分为基本业 务模块和辅助工具模块,基本业务模块完成独立业务处理,辅助工具模块用来实现模 块间的协同处理或扩展系统功能。这里的模块是指系统模块,即有目前 VA 系统的 Job、Logic、GUI 三个包共同组成的模块,部署模块必须三个
10-Delphi开发规范
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文于
2022-07-22上传分享