Delphi 开发指南 —— 编码标准文档
版权所有 ?1998 Xavier Pacheco 及 Steve Teixeira 翻译 2000 李颖(e.w@263.net)
目录
1.导言 导言 2.一般源代码格式规范 一般源代码格式规范 缩进 页宽 Begin..End 对 3.Object Pascal 语言 3.1 括号 3.2 保留字和关键字 3.3 过程和函数 (子程序) 3.4 变量 3.5 语句 if 语句 case 语句 while 语句 for 语句 repeat 语句 with 语句 3.6 结构化的意外处理 概要 try..finally 的使用 try..except 的使用 try..except..else 的使用 3.7 类(Classes) 域(Fields) 方法(Methods) 静态方法(Static Methods)的使用 虚/动态方法(Virtual/Dynamic Methods) 的使用 抽象方法(Abstract Methods)的使用 属 性 访 问 方 法 (Property Access Methods) 属性(Properties) 命名规则 访问方法的使用 4 文件 工程(Project)文件 窗体(Form)文件 数据模块(Data Module)文件 远程数据模块(Remote Data Module)文 件 单元(Unit)文件 一般单元结构 单元名称 Uses 子句 Interface 部分 Implementation 部分 Initialization 部分 Finalization 部分 窗体单元 数据模块单元 一般用途单元 组件(Component)单元 文件头
5.窗体和数据模块 窗体和数据模块 窗体 窗体类型命名标准 窗体实例命名标准 自动创建窗体 模式化(Modal)窗体实例函数 数据模块 数据模块命名规则 数据模块实例命名规则
6.包(Packages) 包
运行期(Runtime)和
设计期(Design)包的 使用 文件命名规则 7. 组件 组件(Components) 7.1 用户自定义组件 7.2 组件单元 7.3
注册(Registration)单元的使用 7.4 组件实例命名约定
Standard 页面 Additional 页面 Win32 页面 System 页面 Internet 页面 Data Access 页面 Data Controls 页面 Decision Cube 页面 QReport 页面 Dialogs 页面 Win31 页面 Samples 页面 ActiveX 页面 Midas 页面
7.5 组件前缀
导言
本文档将描述 Delphi 4 开发指南 中使用的
Delphi 程序代码书写规范. 一般情况下, 本 文档遵循 Borland 公司"未明确说明"的编码格式规范, 少数情况下也有例外. 在 Delphi 4 开发指南 中包括本文档是为了向读者介绍一种在合作开发中保持代码风格一致的方法. 目 的是为了保证开发队伍中的所有程序员都能够理解其他人编写的代码. 实现这一目的的方 法是通过保持代码的一致性来增强其可性. 本
文档无法包罗万象, 因此可能对于你不够详细. 你可以使用并修改这些标准以适应你 自己的需要. 但我们仍建议你不要与 Borland 开发组使用的标准偏离得太多. 我们提出这 些建议, 是因为当你的开发队伍中加入新程序员时, 他们最熟悉的很可能就是 Borland 标 准. 和大多数编码规范
文档一样, 本文档将根据需要继续更新. 因此, 你可以在 xapware/ddg 在线得到最新版本. 本文档不会包括 用户界面标准. 这是一个不同 的但同样重要的主题. 大量的第三方书籍和 M
icrosoft 文档都包括了这些指南, 因此我们决 定不再重复这些信息, 而是将你指引到 Microsoft Developers Network 和其他信息来源. .
一般编码格式规范
缩进
缩进应该是每行 2 个空格. 不要在源文件中保存 Tab 字符. 在使用不同的
源代码管理工具 时 Tab 字符将因为用户设置的不同而扩展为不同的宽度. 你可以禁止保存 Tab 字符, 方法是通过 Tools | Environment 菜单打开 Environment Options 对话框, 然后在 Editor 页中关闭 "Use tab character" 和 "Optimal fill" 选项.
页宽
页宽应该设置为 80 字符. 源代码一般不会超过这个宽度, 并导致无法完整显示, 但这一设 置也可以灵活调整. 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进 2 个字符.
Begin..End 对
begin 语句应该单独作为一行. 例如, 下面的第 1 行是错误的, 第 2 行是正确的:
for I := 0 to 10 do begin // 错误, begin 和 for 在同一行 for I := 0 to 10 do begin // 正确, begin 单独作为一行
当 begin 作为 else 子句的一部分时例外, 比如: if some statement = then beg