Delphi开发代码规范[修改].doc
文本预览下载声明
PAGE
PAGE 20
一、源程序书写规范
1.1.通用源代码格式规则
1).缩进
缩进就是每级间有两个空格。不要在源代码中放置制表符。
通过使用Tools|Environment 菜单,在Environment Options 对话框的General页上,不要选中Use Tab Character 和Optional Fill 复选框,这样,制表符就不会被保存。
2).边距
边距设置为80个字符。只要可能,长度超过一行的语句应当用逗号或运算符换行。换行后,应缩进两个字符。代码行上字符串的长度不要超过255个字符,如果超过换行缩短,否则出现编译错误。
3).begin...end 语句
begin 语句必须单独占一行。例如:
for i:=0 to 10 do begin // 错, begin 与f o r 在同一行
for i:=0 to 10 do // 对, begin 在另外一行中begin
本规则的一个特殊情况是,当begin 为else 语句的一部分时,例如:
if some statement = thenbegin? . . .endelse begin? Some Other Statement;end;
注意:end 语句总单独一行。当begin 不为else 语句的一部分时,相应的end 语句与begin 语句的缩进量相同。
1.2.Object Pascal语句格式语句书写规范与用法
1). 括号
在左括号与下一字符之间没有空格。同样,右括号与前一字符也没有空格。下面的例子演示了正确与不正确的空格。
CallProc( Aparameter ); // 错!CallProc(Aparameter); // 正确!
? 不要在语句中包含多余的括号。在源代码中,括号只有在确实需要时才使用。下面的例子演示了正确与不正确用法:
if (I=42) then // 错,括号是多余的if (I=42) or (J=42) then // 正确,必须使用括号
2). 保留字和关键字
? Object Pascal 语言的保留字和关键字总是完全的小写。
3). 过程和函数
(1). 格式
? 过程名应当以大写字母开始,且大小写交错以增加可读性。例如
procedure ThisIsMuchMoreReadableRoutineName;
(2). 形参
1、格式
只要可能,同一类型的形参应当归并在一起:
procedure Foo(Param1,Param2,Param3:Imteger;Param4:string);
2、参数顺序
? 形参的顺序主要考虑寄存器调用规则。最常用的参数应当作为第一个参数,按使用频率依次从左到右排。输入参数位于输出参数之前。范围大的参数应当放在范围小的参数之前。例如:
SomeProc(aPlanet, aContinent, aCountry, aState, aCity).
? 有些则例外。例如???在事件处理过程中,TObject 类型的Sender 参数往往是第一个要传递的参数。
(3). 常量参数
? 要使记录、数组、短字符串或接口类型的参数不能被过程修改,就应当把形参标以Const 。
4). 变量
(1). 局部变量
局部变量用于过程内部,如果需要的话,应当在过程的入口处立即初始化变量。局部的AnsiString 类型的变量自动被初始化为空字符串,局部的接口和dispinterface类型的变量自动被初始化为nil,局部的Variant和OleVariant类型的变量自动被初始化为Unassigned。
(2). 全局变量
? 一般不鼓励使用全局变量。应当把全局变量限制在需要的环境中。例如,一个全局变量可能只在单元的实现部分是全局的。
? 全局数据如果将由许多单元使用,就应移动到一个公用单元里被所有对象使用。全局数据可在声明时直接初始化为一个值。注意,所有全局变量自动进行零初始化,因此,不要将全局变量初始化为诸如0 、nil、或Unassigned等空值。零初始化的全局变量在.EXE文件中不占空间。零初始化的数据保存在虚拟的数据段中,而虚拟数据段只在应用程序启动时才分配内存。
5). 类型
(1). 大小写规则
? 类型标识符是保留字,应当全部小写。Win32 API 类型常常全部大写,并且遵循诸如Windows.pas或其他API单元中关于特定类型名的规则。对于其他变量名,第一个字母应大写,其他字母则大小写交错。下面是一些例子:
var? MyString: string; // 保留字? WindowsHandle: HWND; // Win32 API 类型? I: Integer; //在Syste
显示全部