转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Delphi 程序员代码编写标准指南 (二)         ★★★★

Delphi 程序员代码编写标准指南 (二)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1484 更新时间:2009/4/23 18:44:16
 

一、序言

 

本文档详述了在Delphi 4开发者指南下进行编程的代码编写标准。在通常情况下,本文档遵循“取消”式格式的指引方针,该方针由Borland国际通过一些例外来使用。在Delphi 4开发者指南中包含本文档的目的在于阐述一种方法,通过该方法,开发小组可以在他们所编写的代码中保持一贯的风格。这样做的目的是使在开发小组中的每一个程序员都可以明白其他程序员的代码。这有助于提高代码编写的可读性和使用的一贯性。

 

本文档并不意味着包含了所有存在于代码中的标准。但是,它的内容已足够帮你起个好头。你可以自由的增加修改这些标准来满足你的需要。我们不赞成你偏离这些由Borland开发人员所使用的标准太远。我们推荐这么做是因为一旦有新的程序员加入到你的开发小组中,而他们最喜欢和最熟悉的是Borland的标准。象大多数代码标准文档,本文档也会根据需要进行改动。因此,你可以到www.xapware.com/ddg中找到最新的更新版本。本文档不包括用户接口标准。本文档是独立的但也是同样重要的。已经有足够的第三方书籍和Microsoft文档包括了另外一些指导方针,而我们决定并不复制这些信息,但我们会指引你到Microsoft Developers Network 和一些资源,在那儿可以找到你所需的信息。

 

二、通用源代码格式规则

 

2.1 缩格

 

缩格是指在每一级有两个空格。不要在源代码中保留tab字符,这是因为tab字符会随着不同用户的不同设置和不同的资源管理工具(打印、文档、版本控制等)而代表不同的宽度。

 

你可以通过关闭Environment选项对话框中Editor页上的“Use tab character”和“Optimal fill”检查框(通过Tools|Environment)来禁止保存tab字符。

 

2.2 页边空格

 

页边空格会被设置成80字符宽。通常,源码不会超出这个边界,但这个方针会有一些弹性。不管是否有可能,那些超出到另一行的语句会在一个逗号或其他操作符之后与前面的语句相连。当一个语句被打断相连时,它应比原来的那一行语句缩进两个字符。

 

2.3 Begin…End 配对

 

Begin 子句应写在独立的一行。例如,下面第一行是错误的写法而第二行是正确的。

for I := 0 to 10 do begin  //错误,beginfor在同一行

for I := 0 to 10 do        //正确,begin出现在独立的一行

begin

 

这个规则的例外是当begin子句的出现是作为一个else子句的一部分-参考例子:

if some statement then

begin

  …

end

else begin

  someOtherStatement;

end;

 

end 语句永远出现在独立的一行。

当begin语句不是一个else子句的一部分时,相应的end语句永远缩进到与begin部分相对应的位置。

 

三、Object Pascal

 

3.1 括号

 

永远不要在括号与括号之间的字符中间留下空格。下面的例子示范了错误的与正确地使用括号中的空格:

         CallProc( Aparameter );    //错误

         CallProc(Aparameter);      //正确

 

永远不要在一个语句中使用不必要的括号。括号只应在源代码中需要的地方使用。以下的例子示范了错误和正确的使用:

if (I = 42) then                    //错误 - 多余的括号

if (I = 42) or (J = 42) then        //正确- 需要括号

 

3.2 保留字和关键字

 

Object Pascal 保留字和关键字永远是全部小写。

 

3.3 过程和函数(例程)

 

3.3.1 命名/格式化

 

例程的名字永远应该以大写的字母开头并且中间错落分明以便于可读性。下面是一个不正确格式的过程名称:

         procedure thisisapoorlyformattedroutinename;

 

下面是一个合适的大小写例程名称的例子:

         procedure ThisIsMuchMoreReadableRoutineName;

 

例程的名称应该同它的内容相符。一个会导致某个行为的例程应以动词开头。例如:

         procedure FormatHardDrive;

 

一个用于设置输入参数的例程应以单词set作为前缀,例如:

         procedure SetUserName;

 

一个用来接收某个值的例程应以单词get作为前缀,例如:

         procedure GetUserName : string;

 

3.3.2 形式参数

 

3.3.2.1 格式化

 

如果有的话,相同类型的形参应合并在一个语句中:

  procedure Foo(Param1, Param2, Param3 : Integer; Param4 : string);

 

3.3.2.2 命名

 

所有形参的名字应是十分符合它们所代表的意义,特别是应该以传送到例程中的标志符的名称为基础。一个好的参数名称应以字符A为前缀- 例如:

  procedure SomeProc(AuserName : string; AuserAge : integer);

 

“A”前缀按约定表示该参数的名称是与类类型中的一个属性或域的名称相对应的。

 

3.3.2.3 参数的排序

 

下面的形参的顺序重点说明了注册者调用约定调用的好处。

 

- 最常用的参数应放在第一位,其它的参数应按从左到右的顺序排列。

- 输入参数列表应放在输出参数列表的左边。

- 将通用的参数放在特殊参数的左边,例如:

      procedure SomeProc(Aplanet, AContinent, Acountry, Astate, Acity)

- 排序有可能有些例外,比如事件的处理。类型为TObject的Sender参数经常放在第一位。

 

3.3.2.4 常量参数

 

当一个参数为记录型、数组类型、ShortString、或接口类型并且在例程中不被改变时,这些参数应做上常量标记。这样做

[1] [2]  下一页


[系统软件]InstallShield Express for delphi制作安装程序定…  [常用软件]InstallShield Express制作Delphi数据库安装程序
[Delphi程序]为什么选择Delphi.Net ?  [Delphi程序]《关于VisiBroker For Delphi的使用》(4)
[Delphi程序]Delphi 程序员代码编写标准指南  [Delphi程序]转贴:Conversion to Delphi 6: Missing unit Pro…
[Delphi程序]Borland Delphi 9 的新特性  [Delphi程序]Delphi 键盘码表
[Delphi程序]Chuck Jazdzewski的离开意味着Delphi的终结吗?  [Delphi程序]Delphi Access violations 问题的解决之道
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台