欢迎来到天天文库
浏览记录
ID:14891259
大小:44.50 KB
页数:16页
时间:2018-07-30
《delphi程序设计规范》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Delphi程序设计规范Delphi程序设计规范日期:2004年11月17日作者:人气:306查看:[大字体中字体小字体]企商在线老牌虚拟主机商购主机送鼠标送U盘送30G移动硬盘!1.规范简介本规范主要规定Delphi源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发记忆系统的维护。2.一般格式规范2.1缩进缩进就是在当源程序的级改变时为增加可读性而露出的两个空格。缩进的规则为每一级缩进两个空格。不准许使用Tab。因为
2、Tab会因为用户所作的设置不同而产生不同的效果。当遇到begin或进入判断、循环、异常处理、with语句、记录类型声明、类声明等的时侯增加一级,当遇到end或退出判断、循环、异常处理、with语句、记录类型声明、类声明等的时侯减少一级。例如:ifTmpInt<>100thenTmpInt:=100;2.2Begin..Endbegin语句和end语句在源程序中要独占一行,例如:forI:=0to10dobegin//不正确的用法end;forI:=0to10do//正确的用法beginend;2.3空格在操作符及逻辑判断符号的两端添加空格,例
3、如:I:=I+1;,aandb等,但添加括号时不需要空格。例如:if(a>b)then//错误的用法If(a>b)then//正确的用法又例如:procedureTest(Param1:integer;Param3:string);3.ObjectPascal语法书写格式规范3.1保留字ObjectPascal语言的保留字或关键词应全部使用小写字母。3.2过程和函数3.2.1命名及格式过程和函数的名称应全部使用有意义的单词组成,并且所有单词的第一个字母应该使用大写字母。例如:procedureformatharddisk;//不正确的命名pr
4、ocedureFormatHardDisk;//正确的命名设置变量内容的过程和函数,应使用Set作为前缀,例如:procedureSetUserName;读取变量内容的过程和函数,应使用Get作为前缀,例如:functionGetUserName:string;3.2.2过程和函数的参数3.2.2.1命名统一类型的参数写在同一句中:procedureFoo(Param1,Param2,Param3:Integer;Param4:string);3.2.2.2命名所有参数必须是有意义的;并且当参数名称和其它属性名称重了的时候,加一个前缀‘A’,
5、例如:procedureSomeProc(AUserName:string;AUserAge:integer);3.2.2.3命名冲突当使用的两个unit中包括一个重名的函数或过程时,那幺当你引用这一函数或过程时,将执行在use子句中后声明的那个unit中的函数或过程。为了避免这种‘uses-clause-dependent’需要在引用函数或过程时,写完整函数或过程的出处。例如:SysUtils.FindClose(SR);Windows.FindClose(Handle);3.3变量3.3.1变量命名及格式首先所有变量必须起有意义的名字,使
6、其它组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名,可使用几个英文单词,但每一单词的首字母必须大写。例如:varWriteFormat::string;同时对于一些特定类型可采用一定的简写如下:指针类型P纪录类型Rec数组类型Arr类Class循环控制变量通常使用单一的字符如:i,j,或k。另外使用一个有意义的名字例如:UserIndex,也是准许的。3.3.2局部变量在过程中使用局部变量遵循所有其它变量的命名规则。3.3.3全局变量尽量不使用全局变量,如必须使用全局变量则必须加前缀‘g’,同时应在变量名称中体现变量的类型
7、。例如:gprecUserCount:point;//名称为UserCount的全局变量,其类型为指向一结构的指针但是在模块内部可以使用全局变量。所有模块内全局变量必须用‘F’为前缀。如果几个模块之间需要进行资料交换,则需要通过声明属性的方法来实现。例如:typeTFormOverdraftReturn=class(TForm)private{Privatedeclarations}FuserName:string;FuserCount:Integer;ProcedureSetUserName(Value:string);FunctionGe
8、tUserName:string;public{Publicdeclarations}propertyUserName:stringreadGetUserNamew
此文档下载收益归作者所有