Delphi开发规范标准_第1页
Delphi开发规范标准_第2页
Delphi开发规范标准_第3页
Delphi开发规范标准_第4页
Delphi开发规范标准_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-!Delp hi开发规范Del phi版本统一使用Delphi2007进行项目开发、小部分模块(比如:系统构子模块Dll、DeIphi2007编译出问题的功能)可以使用Delphi7开发Dll文件,供Delphi2007编写的主程序调用。当需要Delphi2007以上版本进行开发时,必须要满足使用Delphi新特性才能完成新功能的条件。Del phi插件统一使用以下2款Del phi第三方插件来提高工作效率。1) Cn Wizards 是一组集成在 Del phi / C+ Builder的 IDE 中,用于增强IDE功能、提高IDE的可用性及开发效率的免费、 开放源码工具。2) Del p

2、hi2007以下版本:DelForEx p是一款Del phi代码格式化工具。该工具重点设置如下图:缩进空格数必须为4。在*try信句块内的隹15共健字绵进編译捋令設置格式化选项编进1空榕f換疔I大写 对芥卩耳他f砸监 缩聲髄量:在以下选顶应坤縮讲:关键宇前不使用貓进飞聽5咲键字在吩二y语句與內的性诗觀宇M« miBi nu TiI. r > * . iT r iT"o*I 确定 I 题消 I 默认 | lrl边d风格I I 帮助 I般格式规范1.缩进统一使用4个空格缩进。参照下图进行设置:把Tab的空格数设置为4,以后一按tab键可以一次缩进4个空格。Opt iOT

3、IS二 BivroiiRieriC Optlcrs; Object IrispectorB Tool Falette 匚 dIcts Envih-onmsrt Vsristlec Explorerb DE口h OptionsType LijrcryLibra-y - Vfln32VCL l>®nmrEeftor OptionsU I “ 01 l, 0l 11 ” _ 一 1 Source Ctotons i colorOispleyKey l*apoirs Code In?iaht-HfTTdL/ASP.hFTOphirHTML Fdmjttng E HTML Ticy op

4、tions T的s WebSrap-r1 . L:-T1 - /-Hi_ L:l< I 山 rIbouroe type; FascdlE:lsn<iofE; pasjdprj d*; nu dfinn; sfniirfmjdpki Keep trai ng blanks I Show tab character r| SSoAf fQ.Kt<h bricter H Uw itdx lily'illyhL 二IShcJne breaks Pl Hiahlichh curent IneE&Jto indent rnode包rt tab0 <u( jui U

5、wubyl I Qptimg hl0 Backspace inin tents2. Begi n.E ndj I DeleteOKCartelHeb Ibegin语句和end语句在源程序中要独占一行,例如for I := 0 to 10 do beg in /不正确的用法end;for I := 0 to 10 do /正确的用法begin end;3.空格在操作符及逻辑判断符号的两端添加空格,例如:I := I + 1;,a andb等,但添加括号时不需要空格。例如:if ( a > b ) the n /错误的用法If (a > b) the n /正确的用法又例如:p roc

6、edure Test( Param1: in teger; P aram3: stri ng);4.过程和函数 1)命名及格式过程和函数的名称应全部使用有意义的单词组成, 并且所有单词的第 一个字母应该使用大写字母。例 如:P rocedure formatharddisk;/不正确的命名P rocedure FormatHardDisk;/正确的命名 设置变量内容的过程和函数,应使用 Set作为前缀,例如:P rocedure SetUserName;读取变量内容的过程和函数,应使用 Get作为前缀,例如:Fun cti on GetUserName:stri ng;2)注释1)、除控件产生

7、的事件以外的自定义函数都必须加入以下格式的注释。/<summary>/过程名:函数中文描述/作者:作者姓名/日期:年-月-日/</summary>/vparam name="参数名"> 函数描述 </param>/<returns> 返回值描述,例如:0 -成功;1 -失败v/returns>2)、所有定义的变量、常量、类都必须加入以下格式注释/ vsummary>Ill执行SQLIII <lsummary>StrSQL:stri ng;3)过程和函数的参数A. 格式统一类型的参数写在同一句中:P

8、 rocedure Foo(P arami, Param2:l nteger;l nfoStri ng);B. 命名所有参数必须是有意义的;并且当参数名称和其它属性名称或全局变量重了的时候,加一个前缀 A ,例如:P rocedure Some Proc(AUserName: stri ng; AUserAge: in teger);C. 命名冲突当使用的两个unit中包括一个重名的函数或过程时,那幺当你引用这一函数或过程时,将执行在use子 句中后声明的那个unit 中的函数或过程。为了避免这种 uses-clause-de pen de nt '需要在引用函数或过程时,写完整函数或

9、过程的出处。例如:SysUtils.Fi ndClose(SR);Win dows.Fi ndClose(Ha ndle);5.变量1)变量命名及格式首先所有变量必须起有意义的名字,使其它组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名, 可使用几个英文 单词,但每一单词的首字母必须大写。 例如:varWriteFormat:Stri ng同时对于一些特定类型可采用一定的简写如下: 指针类型P 纪录类型Rec 数组类型Arr类 Class循环控制变量通常使用单一的字符如:或k。另外使用一个有意义的名字例如:UserIndex,也是准许的。2)局部变量在过程中使用局部变量遵循变

10、量的命名规则。3)全局变量尽量不使用全局变量,如必须使用全局变量则必须加前缀g_'同时应在变量名称中体现变量的类型。例如:g_UserCount: point;/名称为UserCount的全局变量,其类型为指向一结构的指针但是在模块内部可以使用全局变量。所有模块内全局变量必须用F为前缀。如果几个模块之间需要进行资料交换, 则需要通过声明属性的方 法来实现。例如:TypeTFormOverdraftRetur n 二 class(TForm)p rivate P rivate declarati ons FuserName: stri ng;FuserC ount: In teger;P

11、rocedure SetUserName(Value: stri ng);Fun cti on GetUserName: stri ng;p ublic P ublic declarati ons property UserName: string read GetUserNamewrite SetUserName;property UserCount: Integer read FuserCount write FuserCount;end;6. 类型 1)大小写协议Win32API的类型通常全部大写,其他的数据类型则首字母大写,其余字母小写,例如:varMyStri ng: Stri ng

12、; /除Win32 API以外的数据类型I: In teger;/除Win32 API以外的数据类型Win dowHa ndle: HWND;Win32 API数据类型2)浮点类型尽量不使用Real类型,他只是为了和旧的Pascal代码兼容,尽量 使用Double类型。Double类型是对处理器和数据总线做过最优化的并且是IEEE定义的标准数据结构。当数值超出Double的范围时,使用Extended。但Extended不被Jave支持。但使用其它语 言编写的DLL时可能会使用Single 类型。3)枚举类型枚举类型的名字必须有意义并且类型的名字之前要加前缀 T'枚举类型的内容的名字必

13、须包含枚举类型名称的简写,例如:TSongType = (stRock, stClassical, stCo un try, stAlternative, stHeavyMetal, stRB);4)数组类型数组类型的名字必须有意义并且类型的名字之前要加前缀 T'。如果声明一个指向数组类型的指针必须 在该类型的名字之前加前缀 P',例如:type P CycleArray =八TCycleArray;TCycleArray = array1.100 of In teger;5)记录类型记录类型的名字必须有意义并且类型的名字之前要加前缀 T'。如果声明一个指向数组类型的指

14、针必须 在该类型的名字之前加前缀 P',例如:TypePEmp loyee =八TE mp loyee;TEmpIo yee = RecordEmpio yeeName: Stri ng;Empio yeeRate: Double;end;7. 类1)命名及格式类的名字必须有意义并且类型的名字之前要加前缀 T'例如:TypeTCustomer = class(TObject)类实例的名字通常是去掉 T'的类的名字。例如: var Customer: TCustomer;2)类中变量的命名及格式类中变量的名字必须有意义并且类型的名字之前要加前缀F'。所有 的变量必

15、须是要有的。如果需要从外部访问此变量则需要声明该变量 的属性。3) 类属性的访问方法所有的属性访问方法必须出现在private 或protected 中。属性访问方法的命名同函数和过程的命名另外读方法(reader method)必须使用前缀 Get'.写方法(writer method)必须使用前缀 Set '。写方法的参数必须命 名为Value'其类型同所要写的属性相一致。例如:TSomeClass = class(TObject) p rivateFSomeField: In teger;p rotected fun cti on GetSomeField: In

16、 teger;p rocedure SetSomeField( Value: In teger);p ublic property SomeField: In teger read GetSomeField writeSetSomeField;end;4)属性的命名及格式同其用操作的,出去前缀 F'的类的变量的名称相一致。8. 项目 1)项目代码目录结构程序主目录-Bin (应用程序所在路径)-Db (本地数据库所在路径)-Doc (文档所在路径)-Hlp (帮助文件所在路径)-Backup (备份路径)-Tmp (临时文件路径)2)项目的命名项目文件必须使用一个有意义的名字,项目命名

17、可以采用同义的英文命名,可使用几个英文单词,但每一单词的首字母必须大写。例如:Del phi中系统信息的项目文件被命名为 SysI nfo.dpr 。3)普通Unit文件命名unit文件的命名应该有意义,并且使用Unit_ '作为前缀。例如:通用 Unit 被命名为 Unit_PublicFunction.pas'。4) Form Units 命名Form Unit文件的名字必须和Form的名称保持一致。例如:主窗体叫Mai nForm贝J Form Un it 文件的名字为:Uni t_FormMa in.pas5) Data Module Un its 命名Data Mod

18、ule unit文件的名字必须和 Data Module 的名称保持致。例如:Data Module 叫 DMMain.pas 主 贝J Data Module Unit文件的名字为:Unit DMMaino9.Form 类1)2)Form类命名标准Forms类的命名应该有意义,命名可以采用同义的英文命名,可使用几个英文单词, 但每一单词的首字母必须 大写。并且使用 T作为前缀。Form类命名规则:“ T” + “窗体描述的单词组合” +” Form”。例如:About Form 类的名字为:TAboutForm = class(TForm)主窗体的名字为TMain Form = class(

19、TForm)Form类实例的命名标准Form的类实例的名字应同期掉 T的Form类的名字相一致。Form实例命名规则:“窗体描述的单词组合” +” Form”。例如:类名:TAboutFormForm类实例:AboutForm类名:TCustomerEntryFormForm类实例:CustomerEntryForm10. 控件1)控件的命名控件的实例应使用去掉 T'该控件类的名称作为前缀,所有控件的类名和实例名都必须使用相关的描述单词组合,不能使Delphi默认生成的控件类名和实例名。控件类命名规则:“T” + “控件名称/简称” + “描述的单词组合” +序号。例如:TEdit控件

20、的类名:TEdit UserName。控件实例命名规则:“控件名称/简称” + “窗体描述的单词组合”例如:TEdit控件的实例名:edt UserName。2)控件的简写控件的名称可使用以下简写。Standard Tab :mm TMai nMenu pm TPopupMenu mmi TMainMen ultem pmi TPopupMen ultemIbl TLabel edt TEdit mem TMemo btn TButton chb TCheckBox rb TRadioButton lb TListBox cb TComboBox scb TScrollBar gb TGro up Box rg TRadioGro up pni TPanel cl TComma ndListAdditi onal Tab bbtn TBitBtn sb TSp eedButt on me TMaskEdit sg TStri ngGrid dg TDrawGrid img TImage s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论