精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Object Pascal语言>>标准的 Delphi Object Pascal 文档

主题:标准的 Delphi Object Pascal 文档
发信人: codespirit(代码精灵)
整理人: delfan(2001-03-30 12:00:03), 站内信件
标准的 Delphi Object Pascal 文档

基本的书写格式
    基本的书写格式要求:
    1、 每一行不超过80个字符(包括空格)。
    2、 如果是另起一行的语句是上一行的字语句,必须比上一横多空 2 格。可以将 Tab 设置为 2 空。如:
        if (a > 0 ) then
          ShowMessage(IntToStr(a));
    3、 “,”、“;”后面必须空一格。
    4、 算术运算符、逻辑运算符两端必须空格。如:
        a := a + b * b;
        (a > 0) and (b > 1);
    5、 如果表达式过长,应另起一行书写,并比原行多空4格(2 个 Tab)。如:
        Application.MessageBox('This is only a test!', 'Software',
            MB_OK + MB_ICONWARNING);
    6、 尽可能的遵循标准英语的书写规则。

项目、窗口类以及相应文件文件的命名
    窗口的命名一般使用下面的形式命名:
        [窗口用途] + Form
    相应的窗口文件名一般用:
        [窗口用途] + Frm.pas
    例如:MainForm 相应的文件名为 MainFrm.pas;AboutForm 相应的文件名为 AboutFrm.pas。
    项目名一般为软件的名称。

控件的命名
    控件的命名往往是一个程序员头疼的问题。一般采用这个格式命名:
        [控件用途] + [控件类]
    如:TitleEdit 是一个 TEdit 控件;BookListView 是一个 TListView 控件。

关键字、保留字的书写
    在使用 Object Pascal 的关键字(即在 Delphi Object Pascal 中自动变为粗体的单词)时,都用小写字母书写。如:procedure、string、function、if 等等。
    在书写保留字时,首字母要大写,其余小写。如:Integer、Boolean等等。

类型名的书写
    在定义一个类型名的时候,首字之前加 T。如下面程序:
        type
          TMyIntegerType = Integer;
          TStringArr = array[10] of string;

变量名的书写
    变量名可以大小写交替,一般以名词作为变量名,表明变量的意义。如:表示计数器的变量可命名为 Count;表示在大用户数的变量可命名为 MaxUserCount。

( ) 的使用
    ( ) 的使用遵循以下几个规则:
    1、 不用在没有必要的地方。如:
        if (a > 0) then a := 0;
    其中的 (a > 0) 和 a > 0 两个表达式的结果是一样的,所以 ( ) 是多余的。
    2、 ( ) 中的表达式的两端不用空格。如:( a > 0 ) 就是不规范的表示了,应写成 (a > 0)。
    3、 一个单独的 ( ) 表达式的两端必须加空格。如:
        if (a > 0) and (a < 100) then a := 0;

if 语句的书写
当使用 if ... then 语句是一般有以下几种格式:
if [条件表达式] then [单一语句];
或者:
if [条件表达式] then
[较长的单一语句];
或者:
if [条件表达式] then
begin
[语句 1];
[语句 2];
[...];
end;
在使用 if ... then ... else 语句有以下几种格式:
if [条件表达式] then [单一语句] else [单一语句];
或者
if [条件表达式] then [单一语句]
else [单一语句];
或者
if [条件表达式] then
begin
[语句 1];
[语句 2];
[...];
end
else begin
[语句 1];
[语句 2];
[...];
end;
(请注意该形式中的 else begin 语句,begin 必须与 else 同行书写。)
或者
if [条件表达式] then
begin
[语句 1];
[语句 2];
[...];
end
else if [条件表达式] then
begin
[语句 1];
[语句 2];
[...];
end;
(请注意该形式中的 else if 语句,如果 else 后的语句也是一个 if 语句的话,if 和 else 必须同行书写。)

begin ... end 语句的书写
begin ... end 语句的书写必须遵循以下几个法则:
1、 不使用没有必要的 begin ... end 语句,例如:
begin
a := 0;
end;
像这样在 begin 和 end 中间只有一个语句的表示方法是完全没有必要的。
2、 begin 关键字除了在跟随在 else 后面的情况,否则都要另起一行书写。如下面的 begin 语句就是不规范的:
if (a > 0) then begin
          a := a * a;
          b := a;
        end;
    应该写成:
        if (a < 0) then
begin
a := a * a;
b := a;
end;
3、 无论什么时候使用 end 语句,都必须另起一行。
4、 除了 else begin 相应的 end 要和 else 对齐,其余的 begin 必须和相应的 end 对齐。

try ... finally ... end 语句的书写
try ... finally 语句一般紧跟于资源分配语句的下面。如:GetMen() 函数、new() 函数等等。finally 的语句一般用来释放 try 语句之前申请的资源。例如:
procedure NewForm;
var
Form: TForm;
begin
Form := TForm.Create(Application);
try
Form.Caption := 'Hello World!';
finally
Form.Free;
end;
end;
finally 调用 Form.Free 过程,释放用 TForm.Create(Application) 申请的资源 Form。
----------------------------------------------------------
关于《标准的 Delphi Object Pascal 文档》的补充
代码精灵

笔者由于写完文章没有仔细的检查,漏了一些细节,在此向读者们道歉,并补充说明。

try 语句
try ... finally 语句的一般格式是:
try
[语句 1];
[语句 2];
[...];
finally
[语句 1];
[语句 2];
[...];
end;
try ... except 语句的一般格式是:
try
[语句 1];
[语句 2];
[...];
except
on [异常类] do
[语句];
on [异常类] do
[语句];
else
[语句];
end;
一般不赞成使用 try ... except ... else 语句。如果读者仔细看的会发现,下面的语句的使用,和 try ... except ... else 是一样的:
try
[...];
except
[语句]; {直接使用异常处理语句,而不用 on ... do 语句}
end;

begin ... end 语句
有读者同我指出,begin ... end 中的语句要比 begin 和 end 多缩进一个 Tab。在上一篇文章中,我没有明确的指出,所以现在补充说明了。
后来,我去看看网上发表的结果。begin 和 end 之间的语句之所以没有缩进,是因为网页显示的原因,和 HTML 对空格的处理有关系。在此特别说明了。

Tab 的大小
的确,Tab 的大小可以随程序员的习惯自己设置。Delphi 默认的 Tab 是 8。当然了,也有人习惯用 3 或 4。但是这里必须说明的是,一般 Tab 数应该是 2 的几次方,而不方便用 3、6 等数,特别不使用奇数。因为奇数的 Tab 会使程序看起来很混乱。
笔者建议程序员使用 Tab 为 2,因为这个数字似乎是最合适的。如果使用 4 或者是 8,如果有超过 3 个以上的层次,程序行就变得很长了。再如果使用 1 的话,会使程序的层次感变得不强,不容易分辨出来。当然了,在 ANSI Pascal 中没有明确规定 Tab 要等于多少,所以主要还是看个人习惯。


[关闭][返回]