windows环境相爱delphi编程规范

上传人:自*** 文档编号:78878251 上传时间:2019-02-15 格式:DOC 页数:20 大小:217.50KB
返回 下载 相关 举报
windows环境相爱delphi编程规范_第1页
第1页 / 共20页
windows环境相爱delphi编程规范_第2页
第2页 / 共20页
windows环境相爱delphi编程规范_第3页
第3页 / 共20页
windows环境相爱delphi编程规范_第4页
第4页 / 共20页
windows环境相爱delphi编程规范_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《windows环境相爱delphi编程规范》由会员分享,可在线阅读,更多相关《windows环境相爱delphi编程规范(20页珍藏版)》请在金锄头文库上搜索。

1、WINDOWS环境下编程规范基于Delphi的标准华腾软件系统有限公司2002.3.29Windows环境编程规范文档异动历史版本号日期说明作者/审阅V1.0.02002/3/292002/4/4初稿第二稿许彤慧 审阅:杨文彬、陈丽萍、曾曙峰、李聪明、魏海波基本要求3可读性要求3结构化要求4正确性与容错性要求4可重用性要求4命名规则5用户界面8注释使用规范10数据说明及定义规范12其他书写规范13提示信息规范13WINDOWS环境下编程规范基于delphi的标准基本要求1. 程序结构清析,简单易懂,单个函数的程序行数最好不超过100行。2. 打算干什么,要简单,直接了当,代码精简,避免垃圾程序

2、。(需要按详细设计方案)3. 尽量使用标准库函数和公共函数。4. 不要随意定义全局变量,尽量使用局部变量。(全局变量由专人专管)5. 表达式使用括号以避免二义性可读性要求1. 可读性第一,效率第二。2. 保持注释与代码完全一致。(定时抽查)3. 每个源程序文件,都有文件头说明,说明规格见规范。(推荐使用英文)4. 每个函数,都有函数头说明,说明规格见规范。(推荐使用英文)5. 主要变量(结构、联合)定义或引用时,注释能反映其含义。(对于难以描述的变量可以使用中文)6. 常量定义有相应说明。7. 处理过程的每个阶段都有相关注释说明。8. 在典型算法前都有注释。9. 利用缩进来显示程序的逻辑结构,

3、缩进量一致并以Tab键为单位,定义Tab为 4个空格10. 循环、分支层次不要超过五层。11. 注释可以与语句在同一行,也可以在上行。12. 空行和空白字符也是一种特殊注释。13. 一目了然的语句不加注释。14. 注释的作用范围可以为:定义、引用、条件分支以及一段代码。15. 不要轻易用条件分支去替换逻辑表达式。16. 不要用晦涩的语句结构化要求1. 禁止出现两条等价的支路。2. 少用GOTO语句。3. 用 IF 语句来强调只执行两组语句中的一组。禁止 ELSE GOTO。4. 用 CASE 实现多路分支。5. 避免从循环引出多个出口。6. 函数只有一个出口。7. 不使用条件赋值语句。8. 避

4、免不必要的分支。正确性与容错性要求1. 程序首先是正确,其次是优美2. 无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。3. 改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。4. 所有变量在调用前必须被初始化。5. 对所有的用户输入,必须进行合法性检查。(包括日期、金额、下拉框中的内容、费率等)6. 不要比较浮点数的相等,如: 10.0 * 0.1 = 1.0 , 不可靠7. 程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等。8. 单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。可重用性要求1. 重

5、复使用的完成相对独立功能的算法或代码应抽象为公共控件或类或公共函数。(由专人控制,编码说明通过EMAIL发放)2. 公共控件或类或函数应考虑OO思想,减少外界联系,考虑独立性或封装性。命名规则1. 宏定义命名宏定义的命名由大写英文字母、数字和下划线组成,各单词之间用下划线“_”分开。宏定义的名字原则上应与后台server保持一致,以下为符合规范的宏定义名字: / communication status COMM_DISCONN = 0; COMM_CONN = 1; COMM_RUNNING = 2;2. 变量命名基本规则程序中所有变量的命名遵循以下的组成规则:+其中作用域名区分局部变量和全

6、局变量;类型前缀名是单个或几个不同基本数据类型的组合,基本数据类型前缀名在以下各节作说明;变量的自定义名字由英文字母和数字组成,使用大小写字母区分各单词,首字符为大写英文字母。整个变量名的总长度不设限制(只要符合编译器的规定就行)。3. 基本数据类型的前缀名 整型变量前缀名(包括Shortint, Smallint, Longint, Int64, Byte, Word, and Longword.)整型(integer,int64)变量的类型名为i,例如: iIntegerVar : integer; 单个字符型变量前缀名单个字符型(char,pchar)变量的类型名为c,例如:cCharV

7、ar : char; 字符串变量前缀名字符串变量的类型名为s,例如:sStringVar : string; 布尔型变量前缀名布尔型变量的类型名为b,例如:bBooleanVar : boolean;4. 其他数据类型变量的前缀名 枚举型变量前缀名枚举型(enum)变量的类型名为e,例如:type eEnumVar = (“Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat” ); 数组型变量前缀名数组型变量是在其基本数据类型名后加上字母a,例如整型数组变量命名为:iaIntArrayVar : array0.CR_LEN_FLAG-1 of integ

8、er;字符数组的类型为: caCharArrayVar : array0.CR_LEN_FLAG-1 of char; 自定义类型变量前缀名自定义类型名前一律加上字符tag,而变量名前一律加上字符r,但不必再加自定义类型名。例如,有自定义结构type tag_MyRecord = recordcAgrno : array0.CR_LEN_AGRNO-1 of char; cBrno: array0.CR_LEN_BRNO-1 of char; cOpdate : array0.CR_LEN_DATE-1 of char; cOptime : array0.CR_LEN_TIME-1 of ch

9、ar;end;rRecordVar : tag_MyRecord;RecordVar 若为与后台消息通讯结构,则应该与后台server保持一致,以后台server为准。5. 函数命名函数名的组成为+,所有的公共库函数必须都有模块名,比如TCP/IP通讯类的公共库函数,此类函数应有模块名如为tcp,则所有对外开放的库函数调用都应以tcp开头,例如tcpConnect()可以是TCP/IP类公共库函数的一个调用名。所有非公共库函数名的定义中,模块名可以被省略。自定义功能名的命名方法与变量命名中的自定义名一致。 公共函数库源程序名以cm开头。 通讯模块源程序名以comm开头。 消息模块源程序名以me

10、ss开头。6. 目录树结构及命名系统具有多级目录树结构,所以各类文件可以按用途分类放在不同的目录下,以下是缺省的目录树结构:7. 常用控件的命名:控件命名采用控件前缀+自定义命名用小写前缀表示类别:frm窗口bt CommandButton按钮bbt BitBtn (include a bitmap on button face)cbo Combo下拉式列表框edt EditText文本输入框medt MaskEditlbl labal,标签img image,图象pic picturestrgrdStringGrid,网格chk Check Box 复选框rgrp Radio Group 单

11、选框pgctl PageControltbsht TabSheetmmo Memogrpbx GroupBoxpn panelmnu menupmnu popupmenudb databasectbr ControlBartbr ToolBartbt ToolButtonbvl Beveltm Timercpn 自定义控件前缀8. 前台与后台消息包结构命名保持一致,以后台为准。用户界面 1. 系统主页要求美观大方,登录后的页面能体现系统的总体功能框架。控件的字体及色彩基调应该保持一致风格。2. 主页面采用MDI多文档管理窗口,菜单提供相应的快捷方式。子窗口初始化时,一律居中,禁用窗口最大化及可

12、伸缩功能,提供窗口的最小化及关闭功能。3. 密码输入要用“*”屏蔽。4. 控件的名称或标题最好使用用户熟悉的字眼。(以客户需求为准)5. 完成相同或相近功能的按妞用panel框起来,按钮要支持快捷方式。6. 完成同一功能或任务的元素在集中位置,减少鼠标移动的距离。7. 按TAB键自动切换的顺序应该与界面上控件的排列顺序保持一致。8. 按回车键能自动进入TAB顺序表示的下一控件的焦点状态。9. 界面上首先要输入的和重要的信息控件应该是TAB键顺序靠前,而且在比较醒目的位置,使对应控件在一开始就获得焦点。10. 分页界面的页面间可以用快捷键切换,顺序按重要程度和访问几率排列。11. 复选框和选项框

13、按选择几率的高低先后排列,并且有默认的选项。12. 在新增和修改状态下关闭窗口或按退出按钮,提示是否保存修改。13. 对于编号、代号等的输入可以提供小按钮查询来得到,对可能有多种选择的提供向导。14. 安全性原则 所有输入控件的值在提交前应该进行合法性验证,不合格的应提示原因。输入长度应该按数据库长度进行约束. 首要排除可能会使应用非正常终止的错误,如:除零运算等,死循环、长度超过数据库定义的长度、含有特殊字符等。 应当注意排除无意的无效数据录入,如数值形态的控件要防止录入字符等。 应该避免未授权功能的使用及无意义的操作。 对可能引起致命错误或系统出错的输入字符和动作要加以限制和屏蔽。 日期采用统一的YYYY/MM/DD格式表示。而且日期的合理性必须得到验证。 小数点的位数必须根据数据库字段的要求加以限制。 费率等数值不能录入负数值。15. 合理性原则 非法输入和操作应该有足够明确的提示说明,提示说明不能混淆和重复,如“不能输入大于600的数字”“数字应该小于或等于600”应该只保留其中一种说法。不能出现A处有A的说

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号