WEB开发网
开发学院软件开发Delphi Delphi代码创建形式规范 阅读

Delphi代码创建形式规范

 2006-02-04 13:40:45 来源:WEB开发网   
核心提示:Delphi代码创建形式规范本规范的目的:给自己的代码一个统一而标准的外观,增强 可读性,Delphi代码创建形式规范,可理解性,可维护性本规范的原则:名称反映含义,形式反映结构1、单元风格2、各区风格3、语句风格4、命名规则参考:Borland官方Object Pascal风格指南 Delphi5程序员指南编码标
Delphi代码创建形式规范 本规范的目的:给自己的代码一个统一而标准的外观,增强
        可读性,可理解性,可维护性
本规范的原则:名称反映含义,形式反映结构

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、过程与函数

  命名
  格式   返回

Tags:Delphi 代码 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接