1.4.1 代码书写规则
在编写自己的Object Pascal程序时,要注意程序的可读性。Pascal语言是英式结构语言,在程序中选择合适的缩排、大小写风格,并在需要时将程序代码分行,使得程序代码能够很容易地被自己和他人读懂。
1. 缩排
缩排是指在每一级有两个空格。不要在
源代码中保留tab字符,因为tab字符会随着不同用户的不同设置和不同的资源管理工具(打印、
文档、版本控制等)而代表不同的宽度。
2. 不区分大小写
Delphi是不区分大小写的语言,就是说,avar、aVar、Avar、AVAR在Delphi中代表的都是同一个变量,Delphi无法区分。基于这个特性,编程时我们就不要试图通过大小写来区分不同的变量。
由于这种不敏感,为了使程序清晰易读,我们就要在编程过程中养成良好的命名习惯。
过程的名字应该以大写字母开头,名字中的其他单词也应以大写字母开头,以加强可读性。下面是一个格式不合常规的过程名称:
procedure thisfunctionwilldosomething;
下面是一个合适的区分大小写的名称:
procedure ThisFunctionWillDoSomeThing;
过程的名称应该同它的内容相符,一个引发其他行为的过程应以动词开头,例如:
procedure ReadDataFromFile;
一个用于设置输入参数的过程应以单词Set作为前缀,例如:
procedure SetFormCaption;
一个用来接收某个值的过程应以单词Get作为前缀,例如:
procedure GetFormCaption: string;
另外,我们也可以通过在各个单词间加入下划线达到清晰易读的效果。
3. 注释
给程序及时地加上注释是良好的编程习惯。Delphi有两种注释方式:
(1)在大段的程序上加注“{}”,编辑器会把它们处理成空白。
Delphi保留了Borland Pascal编辑器的风格,关键字采用黑体字,被注释的部分会变暗,这使得编程风格良好,程序易读易写。
(2)也可以利用符号“//”在一行上加入注释。
4. 标识符
标识符是Delphi应用程序中一些量的名称,这些量包括var(变量)、const(常量)、type(类型)、procedure(过程)、function(函数)、method(方法)及其他。Object Pascal在应用标识符时,必须首先声明它们。Object Pascal是强类型语言,要求相互赋值的变量类型必须相同,这样,编译器可以确保赋给变量或属性的值是正确的类型,若出现错误,也便于改正。
5. 变量
变量是程序代码中代表一个内存地址的标识符,而此地址的内存内容在程序代码执行时可以被改变。在使用变量前必须对它进行声明,即对它进行命名,并说明它的类型。在所有变量声明前加上保留字var。变量声明左边是变量的名称,右边则是该变量的类型,中间用“:”隔开。
下面声明了
几个变量:
var
name :string; //声明name变量为string类型
length :integer; //声明length变量为integer类型
2. 构造类型
构造类型是由一个或多个已经实现定义的类型按一定的方法构造而成的新数据类型。Pascal定义了4种基本构造方法,对应4种构造类型:数组型、集合型、记录型、文件型。
另外,作为面向对象的编程语言,Delphi还定义了3种特殊的构造类型:类、类原型、接口。关于这3种类型,我们将在后续的章节进行详细介绍。
(1)数组型
数组是由固定个数的多个元素组成的有序结构,其中所有元素的类型相同。
数组型的定义如下:
type 标识符=array[下标类型] of 数据类型;
其中下标类型应该是顺序类型。在Delphi中,数组的下标类型部分可以省略,这就是一个长度可变的数组(动态数组)。可以用SetLength语句改变动态数组的长度。
一般,只允许通过数组变量名与相应下标访问数组变量中的一个元素。但当两个数组变量的类型相同时,允许以变量名整体地互相赋值。所谓类型相同是指使用同一个类型标识符,或类型标识符不同但有形为T=P