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

Delphi编码标准——一般的源代码格式规则

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

    编码标准主要是为开发组提供一种编程时的准则,使项目开发人员在编程时有一致格式可遵循。这样,开发组中每个编程人员编写的代码能够被其他人理解,从而提高代码的可维护性,使得一套多人写的软件就像一人写的,使得代码更易理解。这要求大家使用一致的代码样式。

那么,之所以老生常谈介绍这些标准,是因为当新的开发人员加入项目开发组时,有的可能还不熟悉Delphi的编码标准。

       在这里将分以下几类来介绍这些标准:

1 一般的源代码格式规则

2过程和函数

3 文件、窗体与数据模块命名

4 包、组件命名

一般的源代码格式规则

缩进

缩进就是每级间有两个空格。不要在源代码中放置制表符。这是因为,制表符的宽度随着不同的设置和代码管理实用程序(打印、文档及版本控制等)而不同。

边距

边距设置为80个字符。源代码一般不会因写一个单词而超过边距,但本规则比较灵活。只要可能,长度超过一行的语句应当用逗号或运算符换行。换行后,应缩进两个字符。

括号

在左括号与下一字符之间没有空格。同样,右括号与前一字符也没有空格。

下面的例子演示了正确与不正确的空格。

CallProcedure( Parameters ); // 错!

CallProcedure (Parameters); // 正确!

保留字和关键字

Object Pascal语言的保留字和关键字总是完全的小写

begin...end

begin语句必须单独占一行。

例如,下面第一行是错误的,而第二行正确:

for i:=0 to 10 do begin

Statement

end// 错, begin 与for在同一行

for i:=0 to 10 do //正确! begin 在另外一行中

begin

Statement

end

本规则的一个特殊情况是,当begin为else语句的一部分时。

例如:

if Condition then

begin

Statement

end

else begin

Statement;

end

end语句总单独一行。当begin不为else语句的一部分时,相应的end语句与begin语句的缩进量相同。

语句

(1) if_then_else语句

最有可能执行的情况应放在then子句中,不太可能的情况放在else子句中。

为了避免出现许多i f语句,可以使用case语句代替。

如果多于5级,不要使用i f语句。请改用更清楚的方法。

不要在i f语句中使用多余的括号。在源代码中,括号只有在确实需要时才使用。

例如:

if (I=42) then // 错,括号是多余的

if (I=42) or (J=42) then // 正确,必须使用括号

如果在i f语句中有多个条件要测试,应按照计算的复杂程度从右向左排。这样,可以使代码充分利用编译器的短路估算逻辑。如果Condition1比Condition2快,Condition2比Condition3快,则if语句应这样构造:if Conditior1 and Condition2 and Condition3 then

(2) case_else语句

case语句中每种情况的常量应当按数字或字母的顺序排列。

每种情况的动作语句应当简短且通常不超过4 ~ 5行代码。如果动作太复杂,应将代码单独放在一个过程或函数中。case语句的else子句只用于默认情况或错误检测。

(3) while 语句

建议不要使用exit过程来退出while循环。如果需要的话,应当使用循环条件退出循环。所有对w h i l e循环进行初始化的代码应当位于w h i l e入口前,且不要被无关的语句隔开。任何业务的辅助工作都应在循环后立即进行。

(4) for语句

如果循环次数是确定的,应当用for语句代替while语句。

(5) repeat语句

repeat语句类似于while循环,且遵循同样的规则。

(6) with语句

with语句应小心使用。要避免过度使用with语句,尤其是在with语句中使用多个对象或记录。

例如:

with Record1,Record2 do

这些情况很容易迷惑编程人员,且导致调试困难

结构化异常处理

[1] [2]  下一页


没有相关教程
教程录入: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……
    咸宁网络警察报警平台