十 小结
本人在这一系列笔记中表达的就是‘系统开发流程化’、‘系统(模块)功能先设计、再执行’、‘共通内容公用化’等三个思想。包括:
A 项目开始前、先对基本操作要求、代码编程规范等进行设计,明确思想后、再启动项目;
B 模块开始前,首先、明确模块内部各数据(控件)的关系、在不同状态下的操作内容、操作目标,并形成相关控制过程;其次,进行业务功能开发;最后、对系统操作、入库数据加上有效性(合法性)控制代码。至此,一个模块功能就完成了;
C 通过定义‘公用’页面、参数、函数、过程等达到简化开发过程,以提高代码的可读性、功能的易维护性。
1 系统开发流程化
根据本人在Delphi开发过程中工作经验,本着‘复杂的工作简单化、简单的工作流程化’的思想,本人将系统开发实现(页面+代码)及测试按流程化的思想划分为以下几步:
1.1 项目创建:系统命名;
1.2 页面(模块)创建(.dfm文件):页面控件添加、布局、及属性统一配置;
1.3 页面(模块)功能实现(.pas文件):页面控件初始化初始化;
1.4 页面(模块)功能实现(.pas文件):页面管理控制(控件状态(visible、enabled)、信息(Text、capation、…)等)统一控制;
1.5 页面(模块)功能实现:系统业务具体功能;
1.6 页面(模块)合法性控制:信息操作、入库控制等。
1.7 页面调测:(单元测试),测试操作员操作是否友好、功能操作是否便捷及流程、页面功能是否符合业务需要;
1.8 持续执行步骤1.2~步骤1.7,直至模块功能完成;
1.9 项目调测:(集成测试)模块联调;
由上述步骤可以看到,一个项目在实际开发、测试过程中,有许多工作是共通的(除了步骤1.5、步骤1.7的业务测试),通过将其归纳、整理再纳入实践过程中,工作流程化可以有效降低开发、测试时长,工作规范化(比如:命名规范)可以提高系统的可用性、友好性。
2 系统(模块)功能先设计、再执行
为提高工作的质量,在项目、模块开始前,需要先进行设计,包括:项目设计、模块设计。
2.1 项目设计涵盖内容包括:
2.1.1 命名规范:form、unit、控件名称等;
2.1.2 公用属性:Form.Bordericons、Font、Taborder等;
2.1.3 页面布局:页面风格;
2.1.4 公用界面:数据库公用页面、公用参数页面、公用提示页面等。
2.2 模块设计:
2.2.1 页面初始化:数据字典获取、控件赋初值、参数赋初值等;
2.2.2 页面状态控制:即什么状态下,哪些控件可用哪些数据,哪些控件可见/不可见,哪些控件可操作/不可操作,比如:信息增添时、所有控件都可以修改,而信息删除时,所有控件都不可以修改…
2.3共通内容公用化
本人在Delphi初学实践(五) -优快云博客、Delphi初学实践(六)-优快云博客、Rave报表初步开发基础实践(1/3)-优快云博客针对公用数据库页面、公用参数、公用函数(过程)、公用提示页面进行了描述,这里就不在赘述。
在这里,本人想强调以下几点:
1 公用内容是需要根据项目、模块实际情况抽象、提取并设计的;
2 公用部分内容的使用可极大的降低(控件、代码)的冗余度;
3 公用部分不仅包括系统级,还包括模块级,例如:页面的操作状态控制;
4利用率不高、个性化较强的控件(或代码)、尤其是个性化的业务模块代码,少用或不要公用化,否则可能会导致代码可读性下降、维护成本上升。