Delphi编码规范模板.xlsVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Checklist

_Toc211327778

_Toc211327782

Delphi编码规范Checklist

文件编码:

项目名称:

检查日期:

项目编号:

检查人:

项目负责人:

确认人:

检查大项

检查子项

完成情况

备注

通用源代码格式规则

缩进是否两个两个空格表示,在源代码中不能用制表符表示缩进

在EnvironmentOptions对话框的General页上,不要选中UseTabCharacter和OptionalFill复选框

边距

边距是否设置为80个字符

长度超过一行的语句应当用逗号或运算符换行

换行后,应缩进两个字符

begin...end

“begin”和“end”语句必须单独占一行

括号

在左括号与下一字符之间没有空格

右括号与前一字符也没有空格

语句中是否包含多余的括号

保留字和关键字

保留字和关键字是否完全小写

过程和函数

过程名是否以大写字母开始,且大小写交错以增加可读性

形参

同一类型的形参是否归并在一起

是否遵循:形参的顺序主要要考虑寄存器调用规则。最常用的参数应当作为第一个参数,按使用频率依次从左到右排。输入参数位于输出参数之前。范围大的参数应当放在范围小的参数之前

常量参数

记录、数组、短字符串、接口类型等不能被过程修改的参数,形参是否标以Const

变量

局部变量是否在过程的入口处初始化变量

全局变量不需要初始化为诸如0、nil、或Unassigned等空值

是否遵循变量命名规范

类型

保留字类型是否全部小写

Win32API类型是否全部大写

对于其他变量名,第一个字母应大写,其他字母则大小写交错

浮点数应当使用Double类型

语句

在if/then/else语句中,最有可能执行的情况应放在then子句中,不太可能的情况放在else子句中

如果多于5级,不要使用if语句

不要在if语句中使用多余的括号

如果在if语句中有多个条件要测试,应按照计算的复杂程度从右向左排

case语句中每种情况的常量应当按数字或字母的顺序排列

每种情况的动作语句应当简短且通常不超过4-5行代码。如果动作太复杂,应将代码单独放在一个过程或函数中

Case语句的else子句只用于默认情况或错误检测

case语句是否遵循一般的缩进和命名规则

建议不要使用Exit过程来退出while循环。如果需要的话,应当使用循环条件退出循环

所有对while循环进行初始化的代码应当位于while入口前,且不要被无关的语句隔开

任何业务的辅助工作都应在循环后立即进行

如果循环次数是确定的,应当用for语句代替while语句

repeat语句类似于while循环,且遵循同样的规则

避免在with语句中使用多个对象或记录

结构化异常处理

单元的初始/结束部分或者对象的构造器/析构器中来分配/释放资源外,其它分配资源的地方,都必须使用try...finally来保证资源得到释放

每个资源分配应当与try...finally结构匹配

命名规范

过程与函数名应当有意义。进行一个动作的过程在名称前加上表示动作的动词为前缀

所有形参的名称都应当表达出它的用途。名称是否以字母a为前缀

当两个单元中含有相同名称的过程时,如果调用该过程,实际被调用的是Uses子句中较后出现的那个单元中的过程。为避免这种情况,可在方法名前加想要的单元名

变量的名称应当能够表达出它的用途

全局变量以大写字母“G”打头

枚举类型名必须代表枚举的用途。名称前要加T字符作为前缀,表示这是个数据类型

数组类型名应表达出该数组的用途。类型名必须加字母“T”为前缀

如果要声明一个指向数组类型的指针,则必须加字母P为前缀,且声明在类型声明之前

记录类型名应表达出记录的用途。类型名必须加字母T为前缀。如果要声明一个指向记录类型的指计,则必须加字母P为前缀,且其声明在类型声明之前

类的名称应当表达出类的用途

类名前要加字母“T”,如果是接口类那么类名前要加“I”,错误异常类的类名前要加“E”,而类引用类型(Class-referencetype)则要在类名后加“Class”

字段的命名遵循与变量相同的规则,只不过要加前缀F

不希望一个方法被派生类覆盖时,应当使用静态方法

当你希望一个方法能被派生类覆盖,应当使用虚拟方法(virtual)。如果类的方法要被多个派生类直接或间接地使用,则应当用动态方法(dynamic)

要创建实例的类,不要使用抽象方法

所有属性访问方法应当定义在类的私有或保护部分

用于读的方法应当加“Get”前缀,用于写的方法应当加“Set”前缀,并且有一个叫Value的参数,其类型与属性的类型相同

属性访问方法遵循与过程和函数相同的规则

属性作为私有字段的访问器,遵循与字段相同的命名规则,只不过没有F前缀

属性名应为名词,而不是

文档评论(0)

李勇 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档