预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Delphi开发规范 Delphi版本 统一使用Delphi2007进行项目开发、小部分模块(比如:系统构子模块Dll、Delphi2007编译出问题的功能)可以使用Delphi7开发Dll文件,供Delphi2007编写的主程序调用。 当需要Delphi2007以上版本进行开发时,必须要满足使用Delphi新特性才能完成新功能的条件。 Delphi插件 统一使用以下2款Delphi第三方插件来提高工作效率。 CnWizards是一组集成在Delphi/C++Builder的IDE中,用于增强IDE功能、提高IDE的可用性及开发效率的免费、开放源码工具。 Delphi2007以下版本:DelForExp是一款Delphi代码格式化工具。 该工具重点设置如下图:缩进空格数必须为4。 一般格式规范 缩进 统一使用4个空格缩进。参照下图进行设置:把Tab的空格数设置为4,以后一按tab键可以一次缩进4个空格。 Begin..End begin语句和end语句在源程序中要独占一行,例如: forI:=0to10dobegin//不正确的用法 end; forI:=0to10do//正确的用法beginend; 空格 在操作符及逻辑判断符号的两端添加空格,例如:I:=I+1;,aandb等,但添加括号时不需要空格。例如: if(a>b)then//错误的用法 If(a>b)then//正确的用法 又例如: procedureTest(Param1:integer;Param3:string); 过程和函数 命名及格式 过程和函数的名称应全部使用有意义的单词组成,并且所有单词的第一个字母应该使用大写字母。例如: procedureformatharddisk;//不正确的命名 procedureFormatHardDisk;//正确的命名 设置变量内容的过程和函数,应使用Set作为前缀,例如:ProcedureSetUserName; 读取变量内容的过程和函数,应使用Get作为前缀,例如: FunctionGetUserName:string; 注释 1)、除控件产生的事件以外的自定义函数都必须加入以下格式的注释。 ///<summary> //过程名:函数中文描述 //作者:作者姓名 //日期:年-月-日 ///</summary> //<paramname="参数名">函数描述</param> ///<returns>返回值描述,例如:0-成功;1-失败</returns> 2)、所有定义的变量、常量、类都必须加入以下格式注释 ///<summary> ///执行SQL ///</summary> StrSQL:string; 过程和函数的参数 格式 统一类型的参数写在同一句中: ProcedureFoo(Param1,Param2:Integer;Info:String); 命名 所有参数必须是有意义的;并且当参数名称和其它属性名称或全局变量重了的时候,加一个前缀‘A’,例如: procedureSomeProc(AUserName:string;AUserAge:integer); 命名冲突 当使用的两个unit中包括一个重名的函数或过程时,那幺当你引用这一函数或过程时,将执行在use子句中后声明的那个unit中的函数或过程。为了避免这种‘uses-clause-dependent’需要在引用函数或过程时,写完整函数或过程的出处。例如:SysUtils.FindClose(SR); Windows.FindClose(Handle); 变量 变量命名及格式 首先所有变量必须起有意义的名字,使其它组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名,可使用几个英文单词,但每一单词的首字母必须大写。例如: var WriteFormat:String; 同时对于一些特定类型可采用一定的简写如下: 指针类型P 纪录类型Rec 数组类型Arr 类Class 循环控制变量通常使用单一的字符如:i,j,或k。另外使用一个有意义的名字例如:UserIndex,也是准许的。 局部变量 在过程中使用局部变量遵循变量的命名规则。 全局变量 尽量不使用全局变量,如必须使用全局变量则必须加前缀‘g_’,同时应在变量名称中体现变量的类型。例如:g_UserCount:point;//名称为UserCount的全局变量,其类型为指向一结构的指针但是在模块内部可以使用全局变量。所有模块内全局变量必须用‘F’为前缀。如果几个模块之间需要进行资料交换,则需要通过声明属性的方法来实现。例如: Type TFormOverdraftReturn=class(TForm) private{Privatedeclarations} FuserN