Delphi开发规范.doc

上传人:w****2 文档编号:6529274 上传时间:2020-02-28 格式:DOC 页数:16 大小:101KB
返回 下载 相关 举报
Delphi开发规范.doc_第1页
第1页 / 共16页
Delphi开发规范.doc_第2页
第2页 / 共16页
Delphi开发规范.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
Delphi开发规范一、 Delphi版本统一使用Delphi2007进行项目开发、小部分模块(比如:系统构子模块Dll、Delphi2007编译出问题的功能)可以使用Delphi7开发Dll文件,供Delphi2007编写的主程序调用。当需要Delphi2007以上版本进行开发时,必须要满足使用Delphi新特性才能完成新功能的条件。二、 Delphi插件统一使用以下2款Delphi第三方插件来提高工作效率。1) CnWizards 是一组集成在 Delphi / C+ Builder 的 IDE 中,用于增强 IDE 功能、提高 IDE 的可用性及开发效率的免费、开放源码工具。2) Delphi2007以下版本:DelForExp 是一款Delphi代码格式化工具。该工具重点设置如下图:缩进空格数必须为 4。三、 一般格式规范 1. 缩进统一使用 4 个空格缩进。参照下图进行设置:把Tab的空格数设置为4,以后一按tab键可以一次缩进4个空格。2. Begin.End begin 语句和 end 语句在源程序中要独占一行,例如: for I := 0 to 10 do begin /不正确的用法 end; for I := 0 to 10 do /正确的用法 begin end;3. 空格 在操作符及逻辑判断符号的两端添加空格,例如:I := I + 1;,a and b 等,但添加括号时不需要空格。 例如:if ( a b ) then /错误的用法 If (a b) then /正确的用法 又例如:procedure Test(Param1: integer; Param3: string); 4. 过程和函数1) 命名及格式 过程和函数的名称应全部使用有意义的单词组成,并且所有单词的第一个字母应该使用大写字母。例 如: procedure formatharddisk;/不正确的命名 procedure FormatHardDisk;/正确的命名 设置变量内容的过程和函数,应使用 Set 作为前缀,例如: Procedure SetUserName;读取变量内容的过程和函数,应使用 Get 作为前缀,例如:Function GetUserName:string;2) 注释1)、除控件产生的事件以外的自定义函数都必须加入以下格式的注释。/过程名: 函数中文描述/作 者: 作者姓名/日 期: 年-月-日 /函数描述/返回值描述,例如:0 - 成功;1 - 失败2)、所有定义的变量、常量、类都必须加入以下格式注释/ / 执行SQL / StrSQL:string;3) 过程和函数的参数A. 格式 统一类型的参数写在同一句中:Procedure Foo(Param1,Param2:Integer;Info:String);B. 命名 所有参数必须是有意义的;并且当参数名称和其它属性名称或全局变量重了的时候,加一个前缀A, 例如: procedure SomeProc(AUserName: string; AUserAge: integer); C. 命名冲突 当使用的两个 unit 中包括一个重名的函数或过程时, 那幺当你引用这一函数或过程时, 将执行在 use 子 句中后声明的那个 unit 中的函数或过程。为了避免这种uses-clause-dependent需要在引用函数或过程时, 写完整函数或过程的出处。例如: SysUtils.FindClose(SR); Windows.FindClose(Handle); 5. 变量 1) 变量命名及格式 首先所有变量必须起有意义的名字,使其它组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名,可使用几个英文单词, 但每一单词的首字母必须大写。 例如: var WriteFormat:String;同时对于一些特定类型可采用一定的简写如下: 指针类型 P纪录类型 Rec数组类型 Arr类 Class 循环控制变量通常使用单一的字符如:i, j, 或 k。 另外使用一个有意义的名字例如:UserIndex ,也是准许的。2) 局部变量 在过程中使用局部变量遵循变量的命名规则。3) 全局变量 尽量不使用全局变量,如必须使用全局变量则必须加前缀g_,同时应在变量名称中体现变量的类型。 例如: g_UserCount: point;/名称为 UserCount 的全局变量,其类型为指向一结构的指针但是在模块内部可以使用全局变量。所有模块内全局变量必须用F为前缀。如果几个模块之间需要进行资料交换,则需要通过声明属性的方法来实现。例如: Type TFormOverdraftReturn = class(TForm) private Private declarations FuserName: string; FuserCount: Integer; Procedure SetUserName(Value: string); Function GetUserName: string; public Public declarations property UserName: string read GetUserName write SetUserName; property UserCount: Integer read FuserCount write FuserCount; end; 6. 类型 1) 大小写协议 Win32 API 的类型通常全部大写,其他的数据类型则首字母大写,其余字母小写,例如: var MyString: String; /除Win32 API以外的数据类型I: Integer; /除Win32 API以外的数据类型WindowHandle: HWND; /Win32 API数据类型2) 浮点类型 尽量不使用 Real 类型,他只是为了和旧的 Pascal 代码兼容,尽量使用 Double 类型。Double 类型是 对处理器和数据总线做过最优化的并且是 IEEE 定义的标准数据结构。当数值超出 Double 的范围时,使用 Extended 。但 Extended 不被 Jave 支持。但使用其它语言编写的 DLL 时可能会使用 Single 类型。3) 枚举类型 枚举类型的名字必须有意义并且类型的名字之前要加前缀T。枚举类型的内容的名字必须包含枚举类型名称的简写,例如: TSongType = (stRock, stClassical, stCountry, stAlternative, stHeavyMetal, stRB); 4) 数组类型 数组类型的名字必须有意义并且类型的名字之前要加前缀T。如果声明一个指向数组类型的指针必须 在该类型的名字之前加前缀P,例如: type PCycleArray = TCycleArray; TCycleArray = array1.100 of Integer; 5) 记录类型 记录类型的名字必须有意义并且类型的名字之前要加前缀T。如果声明一个指向数组类型的指针必须 在该类型的名字之前加前缀P,例如: TypePEmployee = TEmployee; TEmployee = Record EmployeeName: String;EmployeeRate: Double; end; 7. 类1) 命名及格式 类的名字必须有意义并且类型的名字之前要加前缀T。例如: Type TCustomer = class(TObject)类实例的名字通常是去掉T的类的名字。例如: var Customer: TCustomer; 2) 类中变量的命名及格式 类中变量的名字必须有意义并且类型的名字之前要加前缀F。所有的变量必须是要有的。如果需要从外部访问此变量则需要声明该变量的属性。 3) 类属性的访问方法 所有的属性访问方法必须出现在 private 或 protected 中。属性访问方法的命名同函数和过程的命名另 外读方法(reader method)必须使用前缀Get. 写方法(writer method)必须使用前缀Set。 写方法的参数必须命 名为Value,其类型同所要写的属性相一致。例如: TSomeClass = class(TObject) private FSomeField: Integer; protected function GetSomeField: Integer; procedure SetSomeField( Value: Integer); public property SomeField: Integer read GetSomeField write SetSomeField; end; 4) 属性的命名及格式 同其用操作的,出去前缀F的类的变量的名称相一致 。 8. 项目 1) 项目代码目录结构 程序主目录-Bin(应用程序所在路径) -Db(本地数据库所在路径) -Doc(文档所在路径) -Hlp(帮助文件所在路径) -Backup(备份路径) -Tmp(临时文件路径) 2) 项目的命名 项目文件必须使用一个有意义的名字,项目命名可以采用同义的英文命名,可使用几个英文单词, 但每一单词的首字母必须大写。例如: Delphi 中系统信息的项目文件被命名为 SysInfo.dpr。 3) 普通Unit 文件命名 unit 文件的命名应该有意义,并且使用Unit_作为前缀。例如: 通用 Unit 被命名为Unit_PublicFunction.pas。 4) Form Units 命名 Form Unit 文件的名字必须和 Form 的名称保持一致。例如:主窗体叫 MainForm 则 Form Unit 文件 的名字为:Unit_FormMain.pas 5) Data Module Units 命名 Data Module unit 文件的名字必须和 Data Module 的名称保持一致。 例如: Data Module 叫 DMMain.pas 主 则 Data Module Unit 文件的名字为:Unit_DMMain。 9. Form 类 1) Form 类命名标准 Forms 类的命名应该有意义,命名可以采用同义的英文命名,可使用几个英文单词, 但每一单词的首字母必须大写。并且使用T作为前缀。Form类命名规则:“T”+“窗体描述的单词组合”+”Form”。例如: About Form 类的名字为: TAboutForm = class(TForm) 主窗体的名字为 TMainForm = class(TForm) 2) Form 类实例的命名标准 Form 的类实例的名字应同期掉T的 Form 类的名字相一致。Form实例命名规则:“窗体描述的单词组合”+”Form”。例如: 类名:TAboutForm Form类实例:AboutForm 类名:TCustomerEntryFormForm类实例:CustomerEntryForm10. 控件 1) 控件的命名 控件的实例应使用去掉T该控件类的名称作为前缀,所有控件的类名和实例名都必须使用相关的描述单词组合,不能使Delphi默认生成的控件类名和实例名。 控件类命名规则:“T”+“控件名称/简称_”+“描述的单词组合”+序号。例如:TEdit 控件的类名: TEdit_UserName。 控件实例命名规则:“控件名称/简称”+“窗体描述的单词组合”。例如:TEdit 控件的实例名: edt_UserName。2) 控件的简写 控件的名称可使用以下简写。Standard Tab:mm TMainMenu pm TPopupMenu mmi TMainMenuItem pmi TPopupMenuItem lbl TLabel edt TEdit mem TMemo btn TButton chb TCheckBox rb TRadioButton lb TListBox cb TComboBox scb TScrollBar gb TGroupBox rg TRadioGroup pnl TPanel cl TCommandList Additional Tab: bbtn TBitBtn sb TSpeedButton me TMaskEdit sg TStringGrid dg TDrawGrid img TImage shp TShape bvl TBevel sbx TScrollBoxclb TCheckListbox spl TSplitter stx TStaticTextcht TChart 3.8.2.3 Win32 Tab:tbc TTabControl pgc TPageControl il TImageList re TRichEdit tbr TTrackBar prb TProgressBar ud TUpDown hk THotKey ani TAnimate dtp TDateTimePicker tv TTreeView lv TListView hdr THeaderControl stb TStatusBar tlb TToolBar clb TCoolBar System Tab:tm TTimer pb TPaintBox mp TMediaPlayer 3.8.2.5 Internet Tab:csk TClientSocket ssk TServerSocket wbd TWebDispatcher pp TPageProducer tp TQueryTableProducer dstp TDataSetTableProducer Data Access Tab: ds TDataSource tbl TTable qry TQuery sp TStoredProc db TDataBase ssn TSession bm TBatchMove usql TUpdateSQL
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!