软件公司delphi4程序员代码编写标准指南(编辑修改稿)内容摘要:
else子句不建议使用,因为它会打断所有的异常包括那些你没有准备的异常。 类类型 命名和格式 类类型的名称应符合使用它们的目的。 类型名字应加以前缀 T以表明这是一个类型的定义 - 例如: type Tcustomer = class(TObject) 类型的实例通常是没有前缀 T的类型的名字 - 例如: var Customer :Tcustomer。 注意:查阅“构件类型的命名标准”来获得更多有关构件命名的信息。 域 命名 /格 式 类的域名遵循与变量标识符同样的约定除了它们应以 F为前缀,来表明这是一个域的名称。 可视化 所有的域都必需是私有的。 想在类的范围之外存取域得通过属性来使用。 方法 命名 /格式 方法的命名应遵循本文档中有关过程和函数的约定叙述。 使用静态的方法 如果使用一个静态的方法,那么该方法就不能被该类的后代类所继承。 使用虚拟 /动态的方法 中国最大的管理资源中心 第 14 页 共 44 页 如果你打算该类的方法能被后代的类所继承就得使用虚拟的方法。 只有在该方法有多个继承时( 直接的或间接的)才使用动态的方法。 例如,一个类类型包含一个可继承的方法,而 100个后代类要继承这种方法,那么这个方法就会动态地产生为 100个后代类使用的内存。 使用抽象的方法 如果在一个类中使用抽象的方法,该类就不能被创建。 只有在那些永远不会被创建的类中使用抽象的方法。 属性存取方法 所有存取类的方法都只能出现在类的 private 或 protected 部分。 属性存取方法的命名应遵循过程和函数的约定规则。 读取存取方法(方法读取器)必需以单词 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。 属性 命名 /格式 属性如果是表示为一个私有域的存取器的话,那么它的名字应是它们所操作的域的名字除去解释符 F。 属性的名字应是名词,不是动词。 属性表示的是数据,而方法表示的是行为。 数组类型的名称应为复数。 一般情况下属性的名称应为单数。 使用存取的方法 尽管没有要求,但还是建议尽量少地为一个表示私有域的属性而使用写入存取方法。 四、文件 中国最大的管理资源中心 第 15 页 共 44 页 工程文件 命名 工程文件应取个描述性的名字。 例如, Delphi 4 开发者指南错误管理器 的工程名字是:。 一个有关系统信息的程序的名字就应象。 窗体文件 命名 一个窗体文件的取名应可以描述使用该窗体的目的,并加以后缀 frm。 例如,一个“关于”的窗体的文件名应是。 主窗体的文件名应是。 数据模板文件 命名 数据模板的取名应能表示使用该数据模板的目的,它的名称应加以两个字符的后缀 DM。 例如,自定义数据模板的文件名字应为。 远端数据模板文件 命名 远端数据模板的取名应能表示使用该远端数据模板的目的,它的名称应加以三个字符的后缀RDM。 例如,自定义远端数据模板的文件名字应为。 Unit文件 通用 Unit结构 unit的名字 中国最大的管理资源中心 第 16 页 共 44 页 Unit文件应取一个可描述性的名字。 例如,包含应用程序主窗体的单元应叫做。 uses子句 在 interface部分的 uses子句应包含在 interface部分中的代码所需要的单元。 去掉那些Delphi可以自动加入到程序中的单元。 在 implementation 部分的 uses 子句应只包含在 implementation 部分中的代码所需要的单元的名字。 去掉不必要的单元。 interface部分 interface部分应包含只那些其它单元所需要存取类型的定义、变量、过程 /函数的预定义等等。 否则,就应放在 implementation部分定义。 implementation部分 implementation部分应包含那些只在本单元中私用的类型定义、变量、过程 /函数定义等等。 initialization部分 不要在 initialization 部分放入耗时长的代码,这将使程序的第一个界面出现 得比较缓慢。 finalization部分 在这里要保证释放你在 Initialization部分所分配的任何资源。 窗体单元 命名 一个窗体的单元文件应拥有与它所对应的窗体文件同样的名称。 例如,“关于”窗体的单 元名称应为 ,而主窗体的单元名称应为。 数据模板单元 命名 一个数据模板的单元文件应拥有与它所对应的数据模板文件同样的名称。 例如,一个自定义数据模板单元的名称应为。 一般目的单元 中国最大的管理资源中心 第 17 页 共 44 页 命名 一般目的单元的取名应符合使用该单元的目的。 例如,一个实用程序单元取名为。 一个包含全局变量的单元取名为。 注意, 该单元的名字不能与它的工程中所使用的所有包中的单元的名字相同。 不赞成使用一般的或通用的单元名字。 构件单元 命名 构件单元应放在独立的目录,以将它们同定义构件组或构件集合的单元区分开来。 它们要永远同工程在不同的目录。 单元名字应同它们的内容相符。 注意:查阅“用户定义的构件”部分来获得更多有关构件命名标准的信息。 文件头 建议在所有源文件、工程文件、单元等等中使用信息化文件头。 一个良好的文件头应包含以下信息: { 版权 … 著作的年、月、日 … } 五、窗体和数 据模板 窗体 窗体类型命名标准 窗体类型的取名应能表达使用该窗体的目的。 类型定义应加以前缀 Tfrm。 前缀后面跟随着描述性的名字。 例如,一个“关于”的窗体的类型的名字应为: TfrmAbout = class(TForm)。 主窗体的定义为: TfrmMain = class(TForm)。 一个用户接入窗体的名字应象: TfrmCustomerEntry = class(TForm)。 中国最大的管理资源中心 第 18 页 共 44 页 窗体实例命名标准 窗体实例应是没 有带前缀 T的相应类的名字。 例如,对应于前面窗体类型而言,其实例的名字应为: 类型名称 实例名称 TfrmAbout frmAbout TfrmMain frmMain TfrmCustomerEntry frmCustomerEntry 自动创建窗体 只有主窗体可以是自动创建的除非有其它更好的理由不这样做。 所有其它的窗体必需从工程选项对话框中的自动创建列 表中移走。 查阅以下部分来获得更多的信息。 模式窗体实例化函数 所有的窗体单元都应包含一个窗体实例化函数,该函数用来创建、设置、模式地显示窗体,并释放窗体。 该函数应返回窗体的模式结果。 该函数要传递的参数应遵循本文档指定的“参数传递”标准。 通过这种方式封装的函数性有助于代码的再利用和维护。 该窗体的变量要从单元中移走,并再窗体实例的函数中进行本地式地定义。 注意,这就意味着该窗体必需从工程 /选项对话框中的自动创建列表中剔除。 参考本文档后面的“自动创建窗体”。 例如,下面的单元展示了再 GetUserData窗体中的一个函数。 unit UserDatafrm。 interface uses windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls。 type TfrmUserData = class(TForm) edtUserName : TEdit。 edtUserID : TEdit。 private { Private declarations } public { Public declarations } end。 function GetUserData(var aUserName : String。 var aUserID : Integer) : Word。 implementation {$R *.DFM } 中国最大的管理资源中心 第 19 页 共 44 页 function GetUserData(var aUserName : String。 var aUserID : Integer) : word。 var frmUserData : TfrmuserData。 begin frmUserData := (Application)。 try := ‘Getting User Data’。 Result :=。 if (Result = mrOK) then begin aUserName :=。 aUserID := StrToInt()。 end。 finally。 end。 end。 end. 数据模板 数据模板命名标准 数据模板的取名要符合使用该数据模板的目的。 类型的定义应加以前缀 T,后面紧接着描述性的名字,最后要加以后缀单词“。软件公司delphi4程序员代码编写标准指南(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。