Delphi编码指南goodWord文件下载.docx

上传人:b****2 文档编号:15165556 上传时间:2022-10-28 格式:DOCX 页数:33 大小:35.11KB
下载 相关 举报
Delphi编码指南goodWord文件下载.docx_第1页
第1页 / 共33页
Delphi编码指南goodWord文件下载.docx_第2页
第2页 / 共33页
Delphi编码指南goodWord文件下载.docx_第3页
第3页 / 共33页
Delphi编码指南goodWord文件下载.docx_第4页
第4页 / 共33页
Delphi编码指南goodWord文件下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

Delphi编码指南goodWord文件下载.docx

《Delphi编码指南goodWord文件下载.docx》由会员分享,可在线阅读,更多相关《Delphi编码指南goodWord文件下载.docx(33页珍藏版)》请在冰豆网上搜索。

Delphi编码指南goodWord文件下载.docx

3.4.3全局变量的使用

3.5类型

3.5.1大写约定

3.5.1.1浮点指针类型

3.5.1.2枚举类型

3.5.1.3变数和ole变数类型

3.5.2结构类型

3.5.2.1数组类型

3.5.2.2记录类型

3.6语句

3.6.1if语句

3.6.2case语句

3.6.2.1一般性话题

3.6.2.2格式

3.6.3while语句

3.6.4for语句

3.6.5repeat语句

3.6.6with语句

3.6.6.1一般话题

3.6.6.2格式

3.7结构异常处理

3.7.1一般话题

3.7.2try…finally的使用

3.7.3try…except的使用

3.7.4try…except…else的使用

3.8类类型

3.8.1命名和格式

3.8.2域

3.8.2.1命名/格式

3.8.2.2可视化

3.8.3方法

3.8.3.1命名/格式

3.8.3.2使用静态的方法

3.8.3.3使用虚拟/动态的方法

3.8.3.4使用抽象的方法

3.8.3.5属性存取方法

3.8.4属性

3.8.4.1命名/格式

3.8.4.2使用存取的方法

四、文件

4.1工程文件

4.1.1命名

4.2窗体文件

4.2.1命名

4.3数据模板文件

4.3.1命名

4.4远端数据模板文件

4.4.1命名

4.5Unit文件

4.5.1通用Unit结构

4.5.1.1unit的名字

4.5.1.2uses子句

4.5.1.3interface部分

4.5.1.4implementation部分

4.5.1.5initialization部分

4.5.1.6finalization部分

4.5.2窗体单元

4.5.2.1命名

4.5.3数据模板单元

4.5.3.1命名

4.5.4一般目的单元

4.5.4.1命名

4.5.5构件单元

4.5.5.1命名

4.6文件头

五、窗体和数据模板

5.1窗体

5.1.1窗体类型命名标准

5.1.2窗体实例命名标准

5.1.3自动创建窗体

5.1.4模式窗体实例化函数

5.2数据模板

5.2.1数据模板命名标准

5.2.2数据模板实例命名标准

六、包

6.1使用运行包和设计包的比较

6.2文件命名标准

七、构件

7.1用户自定义构件

7.2构件单元

7.3使用注册单元

7.4构件实例命名约定

7.5构件的前缀

7.5.1Standard页

7.5.2Additional页

7.5.3Win32页

7.5.4System页

7.5.5Internet页

7.5.6DataAccess页

7.5.7DataControls页

7.5.8DecisionCube页

7.5.9QReport页

7.5.10Dialogs页

7.5.11Win3.1页

7.5.12Samples页

7.5.13ActiveX页

7.5.14Midas页

八、注释

8.1文件头注释

8.2函数或过程头注释

8.3块注释

8.4关键语句注释

九、其他

9.1数据库相关命名原则

9.2Delphi系统常量

9.3基本提示信息

9.4基本编程要求

本文档详述了在Delphi4开发者指南下进行编程的代码编写标准。

在Delphi4开发者指南中包含本文档的目的在于阐述一种方法,通过该方法,开发小组可以在他们所编写的代码中保持一贯的风格。

这样做的目的是使在开发小组中的每一个程序员都可以明白其他程序员的代码。

这有助于提高代码编写的可读性和使用的一贯性。

本文档并不意味着包含了所有存在于代码中的标准。

但是,它的内容已足够帮你起个好头。

你可以自由的增加修改这些标准来满足你的需要。

但我们不赞成你偏离这些由Borland开发人员所使用的标准太远。

我们推荐这么做是因为一旦有新的程序员加入到你的开发小组中,而他们最喜欢和最熟悉的是Borland的标准。

与大多数代码标准文档一样,本文档也会根据需要进行改动。

因此,你可以到DevelopersNetwork和其他一些资源,在那儿可以找到你所需的信息。

为增加可读性,依照程序的逻辑关系(循环语句、选择语句等),采用锯齿状排版格式,缩格是指在每一级有两个空格。

不要在源代码中保留tab字符,这是因为tab字符会随着不同用户的不同设置和不同的资源管理工具(打印、文档、版本控制等)而代表不同的宽度。

你可以通过关闭Environment选项对话框中Editor页上的“Usetabcharacter”和“Optimalfill”检查框(通过Tools|Environment)来禁止保存tab字符。

代码行的左右边界一般会被设置成80字符宽。

通常,源码不会超出这个边界,但这个方针会有一些弹性。

不管是否有可能,那些超出到另一行的语句会在一个逗号或其他操作符之后与前面的语句相连。

当一个语句被打断相连时,它应比原来的那一行语句缩进两个字符。

Begin子句应写在独立的一行。

例如,下面第一行是错误的写法而第二行是正确的。

forI:

=0to10dobegin//错误,begin同for在同一行

=0to10do//正确,begin出现在独立的一行

begin

这个规则的例外是当begin子句的出现是作为一个else子句的一部分-参考例子:

ifsomestatementthen

begin

end

elsebegin

someOtherStatement;

end;

end语句总是出现在独立的一行。

当begin语句不是一个else子句的一部分时,相应的end语句永远缩进到与begin部分相对应的位置。

不要在括号与括号之间的字符中间留下空格。

下面的例子示范了错误的与正确地使用括号中的空格:

CallProc(Aparameter);

//错误

CallProc(Aparameter);

//正确

不要在一个语句中使用不必要的括号。

括号只应在源代码中需要的地方使用。

以下的例子示范了错误和正确的使用:

if(I=42)then//错误-多余的括号

if(I=42)or(J=42)then//正确-需要括号

ObjectPascal保留字和关键字永远是全部小写。

3.3.1命名/格式化

例程的名字通常应该以大写的字母开头并且中间错落分明以便于增强其可读性。

下面是一个格式不正确的过程名称:

procedurethisisapoorlyformattedroutinename;

下面是一个合适的大小写过程名称的例子:

procedureThisIsMuchMoreReadableRoutineName;

过程的名称应该同它的内容相符。

一个会导致某种行为的过程应以动词开头。

例如:

procedureFormatHardDrive;

一个用于设置输入参数的过程应以单词set作为前缀,例如:

procedureSetUserName;

一个用来取得某个值的过程应以单词get作为前缀,例如:

procedureGetUserName:

string;

3.3.2形式参数

3.3.2.1格式化

如果有的话,相同类型的形参应合并在一个语句中:

procedureFoo(Param1,Param2,Param3:

Integer;

Param4:

string);

3.3.2.2命名

所有形参的名字应是十分符合它们所代表的意义,特别是应该以传送到例程中的标志符的名称为基础。

一个好的参数名称应以字符A为前缀-例如:

procedureSomeProc(AuserName:

AuserAge:

integer);

“A”前缀按约定表示该参数的名称是与类类型中的一个属性或域的名称相对应的。

3.3.2.3参数的排序

下面的形参的顺序重点说明了注册者调用约定调用的好处。

-最常用的参数应放在第一位,其它的参数应按从左到右的顺序排列。

-输入参数列表应放在输出参数列表的左边。

-将通用的参数放在特殊参数的左边,例如:

procedureSomeProc(Aplanet,AContinent,Acountry,Astate,Acity)

-排序有可能有些例外,比如事件的处理。

类型为TObject的Sender参数经常放在第一位。

3.3.2.4常量参数

当一个参数为记录型、数组类型、ShortString、或接口类型并且在例程中不被改变时,这些参数应做上常量标记。

这样做会让编译器更加有效率的产生有关这些不改变的参数的代码。

而例程中另外一些非变参数也可常量来传送。

尽管这样做没有产生任何效果和提高效率,这将会给调用例程的使用者提供更多的信息。

3.3.2.5名称的冲突

当使用拥有两个名称相同的例程的两个单元时,如果你调用该例程时,在uses子句中排在后面的单元中的例程将会被调用。

为了解决这种“在uses子句上的模糊”冲突,要在调用该例程时写上相关的单元的前缀,例如:

sysUtile.FindClose(SR);

windows.FindClose(Handle);

3.4.1变量的命名和格式

变量的命名应以使用它们的目的相符

循环控制变量应采用一个单独的字符作为名字,比如I,J,或K,也可以采用更加有意义的名字,比如UserIndex。

逻辑变量的名字应能充分表达准确的真或假的意思。

3.4.2局部变量

一个过程中的局部变量应遵循所有其它变量的使用和命名约定。

临时变量的取名应合理。

如果必须的话,在一进入例程就应初始化局部变量。

局部的AnsiString变量会自动初始化为一个空的字符串。

局部接口和派分接口类型变量将会自动初始化为nil,并且局部变数和ole变数类型变量会自动初始化为Unassigned

3.4.3全局变量的使用

使用全局变量是不推

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1