Delphi程序员代码风格指南

上传人:壹****1 文档编号:558403598 上传时间:2023-06-26 格式:DOC 页数:30 大小:769.50KB
返回 下载 相关 举报
Delphi程序员代码风格指南_第1页
第1页 / 共30页
Delphi程序员代码风格指南_第2页
第2页 / 共30页
Delphi程序员代码风格指南_第3页
第3页 / 共30页
Delphi程序员代码风格指南_第4页
第4页 / 共30页
Delphi程序员代码风格指南_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Delphi程序员代码风格指南》由会员分享,可在线阅读,更多相关《Delphi程序员代码风格指南(30页珍藏版)》请在金锄头文库上搜索。

1、一建立工程目录首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各个目录:用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等); :用来存放Delphi源程序中的” .Dpr ”, ”.Pas ”, ”.Dfm”等文件;:该目录中存放” .Dcu”文件,将 .Pas 与 .Dcu文件分开存放只是为了让Source 目录的内容更加清楚一些; :存放工程的输出文件,比如”.Exe ”, ”.Dll ”或者” .Ocx”等等;:用来存放日志文件;通常在这个目录中我会放一个”程序员日志 .Txt

2、 ”文件。:当然是存放工程中用到的图片的目录了。一般情况下,这个目录是少不了的。假如还用到其他资源,那么也一样建立各自的目录,比如Wav,比如 Avi 等等。二设置工程选项在 Delphi中创建一个新的工程,将此工程保存到Source 目录中,同时:a.选一个耐看的,与项目有些联系的图标作为这个工程的图标。当然,这个图标可能只是临时用用的,但是总要比Delphi默认的那个难看的要好才行,要不然,怎么对得起自己?b.将ProjectOptions-Directories/Conditionals页 面 中 的OutputDirectory设置为 Bin 目录;c.将 Unit output Di

3、rectory设置为 Dcu 目录。三添加常量单元添加一个新的Unit ,另存为“ unt Consts.Pas ”,用来保存工程中用到的常量。四有关窗体(Form)及单元 (Unit)按照匈牙利命名法则给Form 命名,则一个用来登录的窗体可以命名为FrmLogin,而其单元名可以为 untLogin 。通常,两个对应的Form 和 Unit 的名称在除去 Frm或 unt 的缩写后应当保持一致。在 Unit的头部添加本单元的注释,注释的格式可以参照Delphi的源码,但是至少应当包含以下几项:功能描述;作者;版权;创建时间;最后修改时间;修改历史等等。将新创建好的Form 的 Captio

4、n 设置为该Form 类的名称,而不是使用 Delphi默认的。比如,将 Form1 更名为FrmLogin 后,此时我们获得了TFrmLogin 这个新的窗体类,并且Delphi 自动将窗体的 Caption更新为 FrmLogin。依我看, 该 Caption 应当为 TFrmLogin才是, 因为我们在设计的是一个窗体类TFrmLogin ,而不是仅仅对 FrmLogin 进行操作。向 TFrmLogin 这样功能明确的窗体类, 许多人都有在设计期就将其Caption 设置为诸如“操作员登录”这种名称的习惯。我的习惯是,象“操作员登录”这样的常量,通常存放在untConsts.Pas中,

5、用 ResourceString 来定义,或者用 Const 来定义。至于窗体的Caption的命名,应当属于运行期的工作。所以,我往往在TForm.OnCreate事件触发之时才对Caption进行操作,比如:procedure TFrmLogin.FormCreate(Sender: TObject);beginCaption := csLoginTitle;.end;五关于 Format 函数的使用有 iYear , iMonth , iDay 三个数据,要显示诸如“生日:1976/3/18 ”这样的信息,你通常怎么做?使用s:=生日: +IntToStr(iYear)+. +IntTo

6、Str(iMonth)+. +IntToStr(iDay);吗?这样实在是太累了。我的习惯是,在untConsts.Pas中增加一个常量csBirthDayFormat =生日: %d/%d/%d来保存显示格式,然后使用s := Format(csBirthDayFormat,iYear,iMonth,iDay);这样的语句完成数据的拼装。这么做的好处显而易见,那就是你只需在一个地方维护数据的显示格式。Format 函数功能强大,我对它很是推崇,你呢?六关于注册表或者Ini文件的存储原先访问注册表我通常使用TRegistry,而访问Ini文件通常使用TIniFile。这两个类的使用方法各不相同

7、,因此想要使用相同的代码既能访问注册表又能访问Ini文件几乎是不可能的。真头疼啊!终于我发现了救星! 那就是TRegistryIniFile类。查看Registry单元,我们发现,TRegistryIniFile继承自 TCusomIniFile。而 TIniFile也是继承于TCusomIniFile。因此,使用抽象类TCusomIniFile来实现对注册表或者Ini文件的访问便是一举两得了。比如:varcsmIniFile: TCusomIniFile;beginif blUseIniFile then/如果使用Ini文件csmIniFile:= TIniFile.Create(csRoo

8、tKey)elsecsmIniFile:= TRegistryIniFile.Create(csRootKey);/接着就可以使用csmIniFile对 Ini文件进行访问,/ 或者用类似访问Ini文件的方式访问注册表。七关于TStream流以及TFileStream, TMemoryStream 等等TFileStream和 TMemoryStream 都继承自抽象类TStream,这意味着我们可以使用一套代码完成对文件和内存的存取操作。因此,定义一些接口的时候,我往往倾向于将参数的类型定义为抽象类,而不是具体类。比如,要完成保存功能的一个函数,定义成function Save(AStrea

9、m: TStream): Boolean;就比定义成function Save(AStream: TFileStream): Boolean;要灵活的多。前一个定义是具有前瞻性的,因为它可以适用于以后可能出现的新型态的流。而后一个定义只适用于TFileStream这种流(当然包括TFileStream的子类),呆板多了。我的习惯:如果存在抽象类,那么尽量将参数定义为抽象类的类型,毕竟,我们无法预见未来。八多使用TActionDelphi 4以后引入了Action的概念,并且在Standard组件栏中增加TActionList组件。使用Action的好处是,控件状态同步的烦恼从此一扫而空!Delphi程序员代码风格指南目录1 序言72 Delphi 工程项目82.1 工程文件8建立工程目录树8命名82.2 Unit 文件8命名8窗体、数据模块的命名9文件头9子句9部分10部分10文件尾102.3 一个完整的单元示例103 Object Pascal123.1代码缩进 .123.2页边空格 .123.3 begin end配对 .123.4括号 .133.5保留字和关键字 .133.6过程和函数 .133.6.1命名规则 .133.6.2参数 .143.7变量 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号