Delphi编程建议遵守的规范2---命名规范

1.1.形参命名建议

所有形参的名称都应当表达出它的用途。如果合适的话,形参的名称最好以字母a 为前缀,例如:

procedure SomeProc(aUserName:string; aUserAge:integer);

     当参数名与类的特性或字段同名时,前缀a 就有必要了

1.2.命名冲突

当两个单元中含有相同名称的过程时,如果调用该过程,实际被调用的是Uses 子句中较后出现的那个单元中的过程。为避免这种情况,可在方法名前加想要的单元名

SysUtils.FindClose(SR);
或Windows.FindClose(Handle);

1.3.局部变量依据数据类型不同,应该用不同的前缀标识,各类型前缀对应关系如下:


变量类型


前缀


举例


Integer变量


小写i


iCount


Shortint变量


小写si


siCount


Cardinal变量


小写ci


ciCount


Longint变量


小写l


lEntrustNo


Int64变量


小写i64


i64SerialNo


Byte变量


小写bt


btFlag


Word变量


小写w


wCount


DWORD变量


小写dw


dwCount


Boolean变量


小写b


bFound


Char变量


小写c


cKind


String变量


小写s


sName


Float变量


小写e


eLastPrice


Double变量


小写e


eCurrentBalance


Handle变量


小写h


hDllHandle


PChar变量


小写sz


szBuffer


X坐标


小写x


xPos


Y坐标


小写y


yPos

1.4.全局变量一般以大写字母“G”打头,并遵循其他变量的命名规则。

1.5.枚举类型

枚举类型名代表美剧的用途,名称前面要加T字符作为前缀,表示这是个数据类型。枚举类型的标识符列表的前缀应包含2-3个小写字符,小鞋子富取法一般的类型名的每个单词道,例子

TSongType=(stRock, stClassical, stCountry, stAlternative, stHeavyMetal, stRB);

    枚举类型的变量实例的名称与类型相同,但没有前缀T ,也可以给变量一个更加特殊名称,诸如:GoodSongType、BadSongType等等。

1.6.数组类型

数组类型名应表达出该数组的用途。类型名必须加字母“T”为前缀。如果要声明一个指向数组类型的指针,则必须加字母P 为前缀,且声明在类型声明之前。例

type
  PCycleArray = ^TCycleArray;    //PCycleArray是TCycleArray类型的指针
  TCycleArray=array[1..100] of integer;
Var
  CycleArray: TCycleArray;    //实际上,数组类型的变量实例与类型名称相同,但没有“T”前缀

1.7.记录类型

记录类型名应表达出记录的用途。类型名必须加字母T为前缀。如果要声明一个指向记录类型的指计,则必须加字母P为前缀,且其声明在类型声明之前。例

type
    PEmployee = ^TEmployee;
    TEmployee = record
        EmployeeName: string;
        EmployeeRate: Double;
    end;

1.8.类类型

类的名称应当表达出类的用途。一般的类名前要加字母“T”,如果是接口类那么类名前要加“I”,错误异常类的类名前要加“E”,而类引用类型(Class-reference type)则要在类名后加“Class”,抽象类一般是在类名前还要加“Custom”。

类的实例名称通常与类名相同,只不过没有前缀“T”。

1.9.类的成员变量

类的成员变量的命名遵循与变量相同的规则,只不过要加前缀F ,表示这是类的成员。

所有成员变量必须为私有。如果要在类的作用域之外访问字段,可借助于类的属性来实现。

1.10.属性访问方法

所有属性访问方法应当定义在类的私有或保护部分。属性访问方法遵循与过程和函数相同的规则。用于读的方法应当加“Get”前缀,用于写的方法应当加“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;

1.11. 属性

属性作为成员变量的访问器,遵循与成员变量相同的命名规则,只不过没有F前缀。属性名应为名词,而不是动词。属性是数据,而方法是动作。数组属性名应当是复数,而一般的属性应当是单数。

1.12.组件实例命名

组件实例的名称应当能够描述其实际意义。使用前缀而不使用后缀的原因是在搜寻时,在对象检查器和代码探索器中搜寻构件的名字比搜寻构件的类型更容易。在这个标准中,组件实例名包括两个部分:前缀和性质标识名。

1.13.组件的前缀

组件的前缀多是表现组件类型的字母缩写。参见下面表中的组件前缀:


组件类名


组件前缀


TActionList, TAction表示动作的列表项


act


TButton, TSpeedButton, TBitBtn等所有的按钮类


btn


TCheckBox, TDBCheckBox等所有的检查框


chk


TradioButton单选按钮类


rdo


TToolBar工具条


tb


TMainMenu所有的主菜单类


mm


TMainMenuItem所有的菜单项类


mi


TpopupMenu所有的弹出式菜单类


pm


TPopupMenuItem所有的弹出式菜单项类


pmi


TLabel, TStaticText等所有用来显示的标签类


lbl


TPanel等所有的面板类


pnl


TpageControl等所有的页式控件类


pgc


TEdit, TMaskEdit等所有的单行编辑框类


edt


TMemo, TRichEdit等所有的多行编辑框类


mmo


TDrawGrid, TStringGrid等所有的网格类


grd


TAnimate等所有的动画类


ani


TImageList等所有的图片列表类


il


TImage等图片类


img


TChart图表类


cht


TComboBox, TDBComboBox等所有的下拉式列表框类


cbo


TListBox, TDBList等所有的列表框类


lst


TtreeView


tv


TlistView


lv


ThotKey


hk


TSplitter等所有的分隔符类


spt


TopenDialog等所有的对话框组件类


dlg


TTable等所有的数据表类


tbl


TQuery等所有的SQL查询类组件


qry


TClientDataSet所有的客户数据集组件


cds


TdataSource


ds


Tdatabase


db


TSockConnection,TDCOMConnection等连接组件类


con


TQuickRep, TFastReport等所有的报表组件类


rpt


TDDEClientConv,TDDEClientItem等所有的DDE组件类


dde


TMonthCalendar等所有的日历类


cal


TGroupBox等控件类


grp


TForm等窗体类


frm

如上所示,组件类型前缀是从分析描述组件的类型性质而来的。通常情况下,下面的规则描述如何定义一个组件类型前缀:

  • 从组件类型名中移去T前缀。例如TButton变成Button。
  • 除了第一个元音,删去所有元音字母。例如,Button变成bttn,Edit变成edt。
  • 压缩双字母。例如,bttn变成btn。
  • 如发生冲突,则在某一组件前缀中加入一个元音。例如在TBatton组件的前缀中加入元音变为batn,以区别TButton的前缀。

不过,上述规则首先得保证前缀名称必须符合习惯,做到见名知意,如:TDDEClientConv控件的前缀就是一个例外。

注意:组件的前缀是为了表示出组件的类型,是按钮,还是标签等等,因此没有必要为每一个特别组件类建立一个组件前缀,如: TMyButton的组件前缀仍为btn。

1.14.窗体类型的命名标准

窗体或对话框类型的名称应当表达出窗体的用途,如果是窗体要加“Tfrm”前缀,如果是对话框要加“Tdlg”,后跟描述性名

1.15.窗体实例的命名标准

窗体实例的名称与相应的类型名称相同,但没有前缀T 。使用前缀法命名窗体和对话框的好处在于可以在Object Inspector(属性观察器)中快速找到需要的组件类型

1.16.数据模块的命名

数据模块类型名称应表达出它的用途,且要加前缀“Tdm”,后跟描述性名称

1.17.数据模块实例的命名

数据模块实例的名称应当与相应的类型名称相同,但没有前缀T

当然这只是其中的一部分,还有很多规范需要制定和遵。另外这只是建议性的规范,并不是强制性的东西,可以根据自己的团队情况去指定符合自己的标准和规则

时间: 2024-10-10 22:58:58

Delphi编程建议遵守的规范2---命名规范的相关文章

Delphi编程建议遵守的规范1---缩进、各种语句的用法

在编程时候,尤其是在一个大的团队里面,遵守统一的编程规范是极其重要的.为所有的开发人员制定一个源代码书写标准,以及程序和文件的命名标准,使他们在编程时有一致的格式,这样,每个编程人员编写的代码能够被其他人理解,减少程序维护和移交的成本. 这里先只介绍关于Delphi语言的编程规范,暂时跳过文件.项目命名…… 1.1.关于缩进 缩进能够更清晰的展示源码的逻辑结构,采用两个空格字符,不能使用制表符(即Tab字符).这是因为,制表符的宽度随着不同源码编缉工具及不同的设置,展示出来的效果不一样,如果空格

代码书写规范和命名规范

上一篇给大家分享了一下,关于文档编写的几个概念.这篇文章阐述如果编写代码书写规范以及命名规范文档.[以java语言为例] 1.代码书写规范 代码书写规范,能够让不同的人,写出相同风格的代码.很多人都看过java源代码,你会发现java源代码的整体风格几乎是一致的,但是你要知道编写源代码的人是很多的,如何才能让他们写出同一风格的代码呢?这就是代码书写规范的作用. 代码书写规范描述的是如何从头到尾书写代码(自己定义的).通俗点讲就是如何书写java文件.就像你写毕业论文一样,从头到尾每个细节都是有要

C#中的代码书写规范以及命名规范

C#代码书写规则: 1. 尽量使用接口,然后使用类实现接口,以提高程序的灵活性. 2.一行不要超过80个字符 3.尽量不要手动更改计算机生成的代码 4.关键的语句写注释 5.建议局部变量在最接近使用它的地方声明 6.不要使用goto系列语句,除非使用在跳出深层循环时 7.避免出现使用超过5个参数的方法. 8.避免书写代码量过大的try....catch模块 9.避免同一个文件中放置多个类 10.生成和构建一个长的字符串时,一定要使用StringBuilder类型,而不用string类型 11.s

Swift— Swift编码规范之命名规范-备

程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量,原则是:变量名=类型前缀+描述,如bFoo表示布尔类型变量,pFoo表示指针类型变量.匈牙利命名还是有一定争议的,在Swift编码规范中几本不采用匈牙利命名. 驼峰命名(Camel-Case),又称骆驼命名法,是指混合使用大小写字母来名字.驼峰命名又分为:小驼峰法和大驼峰法. 小驼峰法是第一个单词是全部小写,后面的单词首字母大写,如:myRoo

零基础如何学好python?Python代码规范之命名规范

目录 1.模块 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) 1 ''' 2 在学习过程中有什么不懂得可以加我的 3 python学习交流扣扣qun,934109170 4 群里有不错的学习教程.开发工具与电子书籍. 5 与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容. 6 ''' 7 # 正确的模块名 8 import decoder 9 import html_parser 10 11 # 不推荐的模块名 12

java命名规范和编程技巧

一个好的java程序首先命名要规范. 命名规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,方便维护等作用 Package 的命名 Package 的名字应该都是由一个小写单词组成. Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用一个小写字母开头,后面的单词用大写字母开头. Static Final 变量的命名  Static Final 变量的名字应该都大写,并且指出完整含义. 参数的命名

修炼成高薪Java程序猿——从优秀的Java命名规范开始

优秀的Java命名规范 1命名规范 1.1 package (*) 包名全部由小写的ASCII字母组成,用"."分隔. 在此项目中,所有的包均以"com.prosten.ticket"开头. 1.2 class (*) 类名应当是名词,每个内部单词的头一个字母大写.应当使你的类名简单和具有说明性.用完整的英语单词或约定俗成的简写命名类名. [示例]public class UserManager 1.3 interface(*) 接口名应当是名词,每个内部单词的头一

前端CSS命名规范大全

文章整理了Web前端开发中的各种CSS规范,包括文件规范.注释规范.命名规范.书写规范.测试规范等. 一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用UI元素样式库 /css/lib JS组件相关样式库 /css/ui 业务类的CSS是指和具体产品相关的文件,放在如下目录中: 读书 /css/book/ 电影 /css/movie/ 音乐 /css

数据库表的命名规范

数据库表的命名规范 数据库 命名规范 数据文件 数据库表 只有一个系统 有多个系统 关联表名 数据库字段命名规范 其它 视图名 存储过程名 SQL语句 原文链接 数据文件 数据文件命名采用系统名_文件类型,比如系统名为kupage,则数据库文件命名为kupage_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件命名分别为kupage_database.mdf,kupage_log.log.文件名全部采用小写. 总