|
本规范的目的:给自己的代码一个统一而标准的外观,增强可读性,可理解性,可维护性 本规范的原则:名称反映含义,形式反映结构 1、单元风格 2、各区风格 3、语句风格 4、命名规则 参考:borland官方object pascal风格指南 delphi5程序员指南编码标准 1、单元风格 {*******************************************************} { } { 项目名称 } { } { 版权所有 (c) 2000,2001 公司名称 } { } {*******************************************************} unit unitname; {******************************************************* 项目: 模块: 描述: 版本: 日期: 作者: 更新: todo: *******************************************************} interface uses ----,----,----,----,----,----,----,----,----,----,----, ----,----, ----,----,----,----; const --------------------; --------------------; --------------------; type --------------------; --------------------; --------------------; --------------------; --------------------; --------------------; var --------------------; --------------------; --------------------; implementation uses ----,----,----,----; {$r *.res} {$r *.dfm} --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; --------------------------------; end. 返回 2、各区风格 0、注释与空白 用{ } 不用 // 主题注释,函数过程目的说明,语句注释 空行 :版权块,类之间,方法之间--(两行) 方法内部块(一行) 空格 :用以增强清晰度 缩进 :两个空格 1、常量区 基本: const ----- = ----; ----- = ----; ----- = ----; ----- = ----; 扩展 前缀: 少则c_---;多则可以每个主题有一个前缀 const { 主题1 } c_--- = ----; { 含义 } c_--- = ----; { 含义 } c_--- = ----; { 含义 } c_--- = ----; { 含义 } { 主题2 } ----- = ----; ----- = ----; ----- = ----; ----- = ----; 资源字符串,放在变量区后面 resourcestring const s_--- = ''''----''''; s_--- = ''''----''''; s_--- = ''''----''''; 例子: cm_base = $b000; cm_activate = cm_base + 0; cm_deactivate = cm_base + 1; cm_gotfocus = cm_base + 2; cm_lostfocus = cm_base + 3; numpaletteentries = 20; boxpoints : array[0..5, 0..2] of glfloat = ( (-1, 0, 0), ( 0, 1, 0), ( 1, 0, 0), ( 0, -1, 0), ( 0, 0, 1), ( 0, 0, -1) ); { variant type codes (wtypes.h) } varempty = $0000; { vt_empty } varnull = $0001; { vt_null } varsmallint = $0002; { vt_i2 } gifversions : array[gv87a..gv89a] of tgifversionrec = (''''87a'''', ''''89a''''); 2、类型区 数据类型-->不提供服务的数据类型 t---- = --------- 对象类型-->有状态并提供服务的实体 t---- = class(----) private -------- -------- protected -------- -------- public -------- -------- published -------- -------- end; 按字母排序 private 1、所有数据放在private 区,以f打头 2、所有事件属性对应的方法指针放在private 区,以f打头 3、属性的get与set方法放在private 区-->不准备被继承 4、响应消息的方法放在private 区 protected 1、被子类调用的但不能被外界调用的方法与属性 2、供子类重载的方法 virsual; virsual; abstract public 1、构建析构方法 2、供外界调用的方法 3、供外界调用的属性 published 1、出现在object inspector里供设计时用的属性 2、出现在object inspector里供设计时用的事件响应 例子: tgifversion = (gvunknown, gv87a, gv89a); tgifversionrec = array[0..2] of char; pinterfacetable = ^tinterfacetable; tinterfacetable = packed record entrycount: integer; entries: array[0..9999] of tinterfaceentry; { forword declairation } tgifimage = class; tgifsubimage = class; {--------------------------- tgifitem ---------------------------} tgifitem = class(tpersistent) private fgifimage: tgifimage; ............. end; 3、变量区 定义全局变量 注意不要有缺省的类对象变量,在调用者中声明! var -----------: -------; -----------: -------; 例子: gifdelayexp: integer = 10; { delay multiplier in ms.} gifdelayexp: integer = 12; 4、实现区 {--------------------------------------------------------- 主题 ----------------------------------------------------------} { 方法的目的 } procedure ---------------------------- begin --------; --------; end; { 方法的目的 } function ----------------------------- begin --------; --------; end; 5、过程与函数 命名 格式 返回 3、语句风格 1、简单语句 -------; 2、复合语句 begin -----; -----; end; 3、赋值语句 -- := -------; -- := (-- + --)* (-- / --); 4、局部变量 var ---: ---;
[1] [2] [3] [4] 下一页 [系统软件]InstallShield Express for delphi制作安装程序定… [系统软件](转帖) 忘记登录密码的解决方案 for XP/2003/2000 [系统软件]交叉编译sshd for IXP425 ARM Platform by MVL 3… [常用软件]Firefox 1.0 全方位试用 [常用软件]完全免费的国产语音ICQ软件----V2 Communicator 1… [Delphi程序]《关于VisiBroker For Delphi的使用》(4) [Delphi程序]一个超链接Image控件!(For D3,D4,D5,D6)源代码 [Delphi程序]Five of the best tools for Delphi [Delphi程序]《关于VisiBroker For Delphi的使用》(3) [Delphi程序]《关于VisiBroker For Delphi的使用》(2)
|