Delphi编码规范Checklist 文件编码: 项目名称: 检查日期: 项目编号: 检查人: 项目负责人: 确认人: 检查大项 通用源代码格式规则 检查子项 缩进是否两个两个空格表示,在源代码中不能用制表符 表示缩进 在Environment Options 对话框的General页上 ,不要选中Use Tab Character 和Optional Fill 复选框 边距是否设置为80个字符 边距 长度超过一行的语句应当用逗号或运算符换行 换行后,应缩进两个字符 begin...end “begin”和“end”语句必须单独占一行 在左括号与下一字符之间没有空格 括号 右括号与前一字符也没有空格 语句中是否包含多余的括号 保留字和关键字 过程和函数 形参 常量参数 保留字和关键字是否完全小写 过程名是否以大写字母开始,且大小写交错以增加可读 性 同一类型的形参是否归并在一起 是否遵循:形参的顺序主要要考虑寄存器调用规则。最 常用的参数应当作为第一个参数,按使用频率依次从左 到右排。输入参数位于输出参数之前。范围大的参数应 当放在范围小的参数之前 记录、数组、短字符串、接口类型等不能被过程修改的 参数,形参是否标以Const 局部变量是否在过程的入口处初始化变量 变量 全局变量不需要初始化为诸如0 、nil、或 Unassigned等空值 是否遵循变量命名规范 保留字类型是否全部小写 类型 Win32 API 类型是否全部大写 对于其他变量名,第一个字母应大写,其他字母则大小 写交错 浮点数应当使用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-reference type)则要在类名后加“Class” 字段的命名遵循与变量相同的规则,只不过要加前缀F 不希望一个方法被派生类覆盖时,应当使用静态方法 当你希望一个方法能被派生类覆盖,应当使用虚拟方法 (virtual)。如果类的方法要被多个派生类直接或间 接地使用,则应当用动态方法(dynamic) 要创建实例的类,不要使用抽象方法 所有属性访问方法应当定义在类的私有或保护部分 命名规范 用于读的方法应当加“Get”前缀,用于写的方法应当加“ Set”前缀,并且有一个叫Value的参数,其类型与属 性的类型相同 属性访问方法遵循与过程和函数相同的规则 属性作为私有字段的访问器,遵循与字段相同的命名规 则,只不过没有F前缀 属性名应为名词,而不是动词 元件的命名与类的命名类似,只不过当它与其它元件名 称冲突时,你可以加上3个字符的前缀,用以标识公司 、个人或其他实体 元件性质标识名是元件意图的描述 窗体或对话框类型的名称应当表达出窗体的用途 窗体实例的名称与相应的类型名称相同,但没有前缀T 除非特别原因,只有主窗体才自动生成。其他所有窗体 必须从Project Options对话框的自动生成列表中删 除 所有窗体单元都应当含有实例化函数,用于创建、设置 、模式显示和释放窗体 如果一个窗体结构过于复杂,就必须将其分化成为一个 主窗体框架以及嵌入到主窗体框架的若干子窗体框架 数据模块类型名称应表达出它的用途,且要加前 缀“Tdm”,后跟描述性名称 在所有源文件、项目文件和单元文件使用结构化的文件 头信息 项目文件的名称应当具有描述意义 Interface部分的Uses子句应当只包含该部分需要的 单元 Implementation部分的Uses子句应当只包含该部分 需要的单元,不要有多余的单元 Interface部分应当只包含需要被外部单元访问的类 型、变量、过程与函数的声明。而且,这些声明应当在 Implementation部分之前 Implementation部分包括本单元私有的类型、变量 、过程与函数的实现 不要在Initialization部分放置花费时间很多的代 码 确保释放所有在Initialization部分中分配的资源 窗体单元文件的名称与相应的窗体名称相同,只是要将 前缀变成后缀 通用单元的名称应当表达出它的用途,名称前要 加“u”前缀 本次检查小计: 合格√ 合格项数量: 一般符合 一般符合项数量: 不符合 不符合项数量: 不适用 不适用项数量: 码规范Checklist 文件编码: 备注

xls文档 02-Delphi编码规范

综合类文档 > 综合格式 > 精选 > 文档预览
6 页 8512 浏览 2022-07-21 4.9分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
02-Delphi编码规范 第 1 页 02-Delphi编码规范 第 2 页 02-Delphi编码规范 第 3 页 02-Delphi编码规范 第 4 页 02-Delphi编码规范 第 5 页
下载文档到电脑,方便使用
还有 1 页可预览,继续阅读
本文于 2022-07-21上传分享