r Options 的General 页不要选中 Set Tab Character和 Optimal Fill复选框,制表符"Tab"即不会被保存。 边距页宽:边距应保持默认设置的80个字符,只要可能,长度超过一行的 语句必须用逗号或运算符换行。换行后,应缩进两个字符。 注释规则:只有在一行的行末注释时才用//,否则均必须使用{}来注释。 空行使用:需使用空行的地方有:
版权块、类之间、方法过程函数之间、 方法内部算法分段。空行只能用一行,多余的空行必须删除。 Begin…End:任何情况下,Begin和End均必须各自独占一行。End总和对应 的Begin左对齐。 工具使用:所有单元提交给版本控制工具之前必须用Source Code Formatter 格式化过。 示例: {*******************************************************} { } { 项目名称 } { } { 版权所有 (C) 2000,2001 公司名称 } { } {*******************************************************} unit UnitName; {******************************************************* 项目: 模块: 描述: 版本: 日期: 作者: 更新: TODO: *******************************************************} interface {$I IS.inc} uses ----,----,----,----,----,----,----,----,----,----,----, ----; const --------------------; type
4
--------------------; var --------------------; implementation uses ----,----,----,----; {$R *.RES} {$R *.DFM} --------------------------------; --------------------------------; --------------------------------; end. 2.3 单元内部规范 2.3.1 常量区: A,所有常量的第一个前缀必须为C,常量必须分主题归类定义,如有多个主 题,每一个主题必须加一个主题前缀。前缀与前缀之间、前缀与名称之 间用_分割。 B,每个常
量的定义单独一行,在同一行上,必须用//加注释说明该常量的含 义。 C,按主题归类的常量,在每个主题开始的第一行必须用{}注释主题含义。 D,示例: Const { 主题1 } C_主题前缀1_--C_主题前缀1_--C_主题前缀1_--C_主题前缀1_--{ 主题2 } C_主题前缀2_--C_主题前缀2_--C_主题前缀2_--C_主题前缀2_---
= ----; = ----; = ----; = ----; = ----; = ----; = ----; = ----;
// 含义 // 含义 // 含义 // 含义 // 含义 // 含义 // 含义 // 含义
2.3.2 类型区: A,不提供服务的数据类型定义格式为: T---- = --------// 类型含义
5
B,有状态并提供服务的数据类型定义格式为: T---- = class(----) //类型含义 private -------protected -------public -------published -------end; C,原则上,数据类型及其内部方法、属性、数据定义时应按字母顺序排 列。属性的读写方法分别以Get和Set为前缀命名。 D,内部数据、属性、方法定义规则: D1,Private区 1、所有数据放在Private 区,以F打头。 2、所有事件属性对应的方法指针放在Private 区,以F打头。 3、不准备被继承的属性的Get与Set方法放在Private 区。 4、响应消息的方法放在Private 区。 D2,Protected区 1、被子类调用的但不能被外界调用的方法与属性。 2、供子类重载的方法 virtual; abstract。 D3,Public区 1、构建析构方法 2、供外界调用的方法 3、供外界调用的属性 D4,Published区 1、出现在Object Inspector里供
设计时用的属性 2、出现在Object Inspector里供设计时用的事件响应 E,特殊的数据应在定义一行的行末用//注释其含义。特殊的属性、方法应 在定义前一行用{}注释其含义。事件指针的定义不需注释,但事件类型 定义时必须在其前一行用{}注释其含义。 2.3.3 变量区 A,在变量区定义单元的全局变量。 B,每个需要注释的变量单独一行,在行末用//注释其含义。 C,同一类型且含义逻辑上不并列的变量分开定义,同一类型且含义逻辑上 并列的变量在一起定义。 D,一般不鼓