Delphi代码的标准风格

Object Pascal Style Guide - By Charles Calvert(对象Pascal编码风格向导 - 译:Tommy Tong)    我们承认许多好的已经确定的工作室或个人,拥有他们自己的和本文里所说的不同的编程习惯, 但是,我们强烈建议你使用一个工具将你的代码转换为Borland风格的代码,然后再提交给Borland,Project JEDI或其他任何公开的源代码知识
摘要由CSDN通过智能技术生成
Object Pascal Style Guide - By Charles Calvert
(对象Pascal编码风格向导 - 译:Tommy Tong)
    我们承认许多好的已经确定的工作室或个人,拥有他们自己的和本文里所说的不同的编程习惯, 但是,我们强烈建议你使用一个工具将你的代码转换为Borland风格的代码,然后再提交给Borland,Project JEDI或其他任何公开的源代码知识库。我们不想强迫你改变你的习惯,但我们坚持所有同Borland产品一起工作的的代码遵循本文描述的习惯。
    对象Pascal是一种优美的设计语言。较强的可读性就是它的一个优点。本文设计的标准将增强对象Pascal代码的可读性。当开发人员遵从本文展现的这些简单的习惯,他们也将成为标准,这将有益于所有的Delphi开发人员使用统一的易读的代码风格。执行这些标准的努力将增加开发人员的源代码的价值,特别是在维护和调试循环阶段。
    尽管我们相信并且赞美本文所宣扬的风格,但我们没有必要支持它,因为它本身是正确的而其它的则是错误的。然而我们相信绝大多数开发人员遵从的标准是有它的功效的,所以我们仍然支持并维护该风格。人类的大脑总在适应标准,并且找寻方法去快速组织所熟悉的模式,从而快速而有效地理解其含义。正是因这种要求而建立的标准将使大量的人尽可能容易的阅读代码。如果在初次使用我们的指导方针是感到陌生,那么我们请你坚持一会儿,你会发现你也变得习惯了。或者,如果你愿意,你也可以保持你自己的风格,并通过一个遵从我们标准的程序来转换,然后你可以将你的代码提交给Borland或其他知识库了。
    一些文本编辑器,象Visual SlickEdit可以帮助你按照一定的风格来格式化你的代码。

一个免费的由Egbert van Nes开发的格式化程序可以在以下的连接获得:
http://www.slm.wau.nl/wkao/delforexp.html

另一个针对Delphi的商业化程序是CrackerJax:
http://www.kineticsoftware.com/html/products.html

----------------------------------------


1.0 介绍
    本文不是为Object Pascal语言定义语法规则的一种尝试。例如:在else前面放置封号";"是违法的;编译器不允许这种用法。所以我不会在本文中展示语法规则。本文旨在在语言提供选择的地方定义适当的行为习惯。我通常在只有一种控制方法的地方保持沉默。

1.1 背景
    在本文出现的指导方针基于Delphi源代码的一部分。Delphi源代码恰好遵循这些指导方针。如果你发现了违反这些原则的情况,那么应该是这些原则而不是那些不确定的源代码成为你的指导方针。然而,你可以使用这些原代码作为这些原则的补充,至少它可以帮助你得到关于你自己的代码的形式的一般看法。

1.2 感谢
    本文这些格式是基于已完成的为Java语言定义的风格标准的工作的。Java在规则上对格式化Object Pascal源代码是没有任何影响的,但在Sun网站上的文档是本文的基础。 在某些特殊的地方本文的风格和格式受到"A Coding Style Guide for Java WorkShop and Java Studio Programming"(Achut Reddy, 《Java车间和Java工作室的编码向导》)的很大启发。该文章可在该URL找到:http://www.sun.com/workshop/java/wp-coding
    Delphi小组为本文的完成做出了重大贡献,事实上,如果没有它们的帮助,本文是无法完成的。

2.0 源文件
    Object Pascal源代码主要被分成单源文件和项目文件,他们都遵从相同的习惯。Delphi项目文件有一个.DPR的扩展名。它是项目的主文件。任何在项目中使用的单元文件都有一个.PAS的扩展名。其它的文件,象批处理文件、HTML文件或者DLLs也可以在项目中扮演一个角色,但本文只涉及项目文件和单元文件。

2.1 源文件命名
    Object Pascal支持长文件名。如果你使用几个单词来形成一个单一的名称,那么最好是为每个单词使用大写的开头字母:MyFile.pas。这被认为是插入式大写或驼峰式大写。扩展名应当使用小写形式。由于历史原因,Delphi源代码经常使用8:3式命名模式,但开发人员不必为上述规则所限制而转向Delphi小组的用法。
    如果你正在翻译一个C/C++头文件,那么你翻译的Pascal文件要与C/C++头文件保持相同的主文件名,扩展名用.PAS。例如:Windows.h -> Windows.pas。如果Pascal语法强迫你将几个头文件组合到一个单一的单元文件中,那么包含其他头文件的那个头文件的文件名将作为新单元文件的名称。例如:Windows.h包含了WinBase.h文件,则新的单元文件名为Windows.pas.

2.2 源文件组织
    所有的Object Pascal单元文件应当按照以下的顺序包含下列元素:
版权/标识块注释
单元名
接口段
实现部分
一个结束符"end."

每个部分之间至少空一行。

其它的元素应当被结构化成你认为最适当的顺序。但版权应当出现在文件的最开始,然后是单元名,然后是任何条件定义、编译器指示符或包含语句,然后是uses字句:


{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,98 Inprise Corporation }
{ }
{*******************************************************}

unit Buttons;

{$S-,W-,R-}
{$C PRELOAD}

interface

uses
  Windows, Messages, Classes,
  Controls, Forms, Graphics,
  StdCtrls, ExtCtrls, CommCtrl;




如果你将type段放到const段之前,或者将它们两者混合,那是没有什么影响的。

实现部分需要首先将implementation写出来,然后是uses字句,然后是其它的包含声明或别的指示符:


implementation

uses
  Consts, SysUtils, ActnList,
  ImgList;




{$R BUTTONS.RES}

2.2.1 版权/标识块注释
    每一个源文件都应当以一个包含版本信息和标准版权布告块注释开始。版本信息可以象下面这样:


{*******************************************************}
{ }
{ Widgets Galore }
{ }
{ Copyright (c) 1995,98 Your Company }
{ }
{*******************************************************}




版权布告至少需要包含以下行:
    版权所有(C) 年份 版权所有者

如果你是为Borland开发软件的第三方,你可以在版权的最后加入你自己的名字:


{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ Copyright (c) 1995,99 Borland International }
{ Created by Project JEDI }
{ }
{*******************************************************}




2.2.2 unit声明
    每一个单元文件要有一个unit声明。unit是一个保留字,因此它需要小写。单元的名称可以是大小写混合的,但必须和单元文件的文件名相同。例如:
unit MyUnit;

则单元文件的名称应当为MyUnit.pas。在文件系统中,它作为这个文件的入口。

2.2.3 uses声明
    在单元内部,uses声明应当使用小些的uses引导。被引用的单元名要遵循在他自己的单元中被定义时使用的大写习惯:
uses MyUnit;
    每一个单元名被一个逗号同其相邻的单元名分开,最后一个单元名后面跟一个分号:


uses
  Windows, SysUtils, Classes, Graphics, Controls, Forms,
  TypInfo
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值