第13讲名称准则课件

上传人:我*** 文档编号:140639624 上传时间:2020-07-31 格式:PPT 页数:40 大小:184.50KB
返回 下载 相关 举报
第13讲名称准则课件_第1页
第1页 / 共40页
第13讲名称准则课件_第2页
第2页 / 共40页
第13讲名称准则课件_第3页
第3页 / 共40页
第13讲名称准则课件_第4页
第4页 / 共40页
第13讲名称准则课件_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第13讲名称准则课件》由会员分享,可在线阅读,更多相关《第13讲名称准则课件(40页珍藏版)》请在金锄头文库上搜索。

1、本讲内容,大小写约定,程序集和 DLL 的名称,通用命名约定,网络编程,名称准则,13,命名空间的名称,类、结构和接口的名称,类型成员的名称,参数名,资源的名称,统一名称准则,熟悉公共语言运行库 (CLR) 名称准则。,教学目标,教学重点,教学难点,对众多名称准则的理解,大小写约定,为什么要学习名称准则,对于组成类库的元素(包括程序集、命名空间、类型、成员和参数),命名准则提供如何为这些元素选择合适的标识符的准则。选择符合这些准则的标识符可以提高您的库的可用性,并使用户相信您的库将不需要学习一组新的规则。 为了提供一致的开发人员体验,公共公开的元素(如公共类和受保护的方法)必须遵守这些准则。然

2、而,为在整个代码中保持一致性以及改进可维护性,应考虑在整个代码中始终使用这些约定。,参考资料,框架设计指南:可重用 .NET 库的约定、术语和模式 MSDN,一、大小写约定,许多命名约定都与标识符的大小写有关。,大小写样式,标识符的大小写规则,如果标识符由多个单词组成,请不要在各单词之间使用分隔符,如下划线(“_”)或连字符(“-”)等。而应使用大小写来指示每个单词的开头。 下列准则是用于标识符的通用规则。 对于由多个单词组成的所有公共成员、类型及命名空间名称,要使用 Pascal 大小写。 注意,这条规则不适用于实例字段。由于成员设计准则中详细说明的原因,不应使用公共实例字段。 对参数名称使

3、用大小写混合。,下表汇总了标识符的大小写规则,并提供了不同类型标识符的示例。,首字母缩写词的大小写规则,首字母缩写词是由术语或短语中各单词的首字母构成的单词。 例如,HTML 是 Hypertext Markup Language 的首字母缩写。 只有在公众广为认知和理解的情况下,才应在标识符中使用首字母缩写词。 首字母缩写词不同于缩写词,因为缩写词是一个单词的缩写。例如,ID 是 identifier 的缩写。通常情况下,库名不应使用缩写词。,说明:可在标识符中使用的两个缩写词是 ID 和 OK。在采用 Pascal 大小写格式的标识符中,这两个缩写词的大小写形式应分别为 Id 和 Ok。如

4、果在采用大小写混合格式的标识符中将这两个缩写词用作首个单词,则它们的大小写形式应分别为 id 和 ok。,首字母缩写词的大小写取决于首字母缩写词的长度。 如果某一首字母缩写词恰好包含两个字符,则将其视为短型首字母缩写词。 包含三个或三个以上字符的首字母缩写词为长型首字母缩写词。,复合词和常用术语的大小写规则,不要将所谓的紧凑格式复合词中的每个单词都大写。这种复合词是指写作一个单词的复合词,如“endpoint”。 例如,hashtable 是一个紧凑格式的复合词,应将其视为一个单词并相应地确定大小写。如果采用 Pascal 大小写格式,则该复合词为 Hashtable;如果采用大小写混合格式,

5、则该复合词为 hashtable。若要确定某个单词是否是紧凑格式的复合词,请查阅最新的词典。,区分大小写,大小写准则只是为了使标识符更易于阅读和辨认。不能将大小写规则用作避免库元素之间的命名冲突的手段。,二、通用命名约定,通用命名约定讨论的是如何为库元素选择最适当的名称。这些准则适用于所有标识符。后面各节讨论特定元素(如命名空间或属性)的命名。,选择名称,(1)请选择易读的标识符名称。 例如,英文属性名称 HorizontalAlignment 比 AlignmentHorizontal 更具可读性。 (2)可读性比简洁性更重要。 属性名称 CanScrollHorizontally 比 Sc

6、rollableX(指 X 轴,但意义不明确)更好。,(3)不要使用下划线、连字符或任何其他非字母数字字符。 (4)不要使用匈牙利表示法。 匈牙利表示法是在标识符中使用一个前缀对参数的某些元数据进行编码 。如:CStudent (5)避免使用与常用编程语言的关键字冲突的标识符。,缩写和首字母缩写词,不要将缩写或缩略形式用作标识符名称的组成部分。 例如,使用 OnButtonClick 而不要使用 OnBtnClick。 除非必要,不要使用任何未被广泛接受的首字母缩写词。,语言特定的名称,对于类型名称,应使用语义上有意义的名称而不要使用语言特定的关键字。 例如,名称 GetLength 比 Ge

7、tInt 更好。 在标识符的语义含义仅限于其类型的极少数情况下,应使用一般公共语言运行时 (CLR) 类型名称,而不要使用语言特定的名称。 例如,将数据转换为 Int16 的方法应命名为 ToInt16 而不是 ToShort 。,三、程序集和DLL的命名,程序集和 DLL 是库的物理组织,而命名空间是逻辑组织,其构成应与程序集的组织无关。命名空间可以且经常跨越多个程序集。,考虑按下面的模式命名 DLL: .dll 其中 包含一个或多个以圆点分隔的子句。 例如,Contoso.WebControls.dll。,四、命名空间的名称,为命名空间选择的名称应指示命名空间中的类型所提供的功能。 例如,

8、System.Net.Sockets 命名空间包含的类型允许开发人员使用套接字通过网络进行通信。,命名空间名称的一般格式如下:.(|). 例如,Microsoft.WindowsMobile.DirectX。,不要根据组织层次结构确定命名空间层次结构中的名称,因为公司的部门名称经过一段时间后可能会改变。 命名空间名称是长期使用的、不会更改的标识符。组织的不断发展和变化不应使命名空间名称过时。,(1)应用程序命名空间准则,不要在单个应用程序模型内为命名空间中的多个类型指定相同的名称。 例如,如果要编写 Windows 窗体应用程序开发人员要使用的特殊控件库,则不应引入名为 Checkbox 的类

9、型,因为该应用程序模型已存在同名类型 (CheckBox)。,(2)核心命名空间准则,不要指定会与核心命名空间中的任何类型发生冲突的类型名称。 例如,不要使用 Directory 作为类型名称,因为这会与 Directory 类型冲突。,(3)技术命名空间准则,不要引入会导致技术命名空间的类型与应用程序模型命名空间中的类型发生冲突的类型名称(除非该技术不用于该应用程序模型)。,五、类、结构和接口的名称,按照 Pascal 大小写格式,使用名词或名词短语(或偶尔使用形容词短语)为类、接口和值类型命名。 不要为类名加前缀(如字母 C)。 接口不适用此规则,它应以字母 I 开头。 考虑在派生类的末尾

10、使用基类名称。 例如,从 Stream 继承的 Framework 类型以 Stream 结尾,从 Exception 继承的类型以 Exception 结尾。,为接口名称加上字母 I 前缀,以指示该类型为接口。 在定义类/接口对(其中类是接口的标准实现)时,一定要确保类和接口的名称除接口名称以字母 I 为前缀外,二者应完全相同。 例如,Framework 提供 IAsyncResult 接口和 AsyncResult 类。,枚举的名称,不要在枚举值名称中使用前缀。 例如,不要对 ADO 枚举使用 ado之类的前缀,也不要对多格式文本枚举使用 rtf 之类的前缀,依此类推。,不要将 Enum

11、用作枚举类型的后缀。 不要在标志枚举的名称中添加 Flags 作为后缀。 对枚举使用单数名称,除非枚举值是位域。 对使用位域值的枚举(也称为标志枚举)使用复数名称。,六、类型成员的名称,类型包含以下几种成员: 方法 属性 字段 事件 本节中的准则有助于类库设计者为成员选择与 .NET Framework 一致的名称。,方法的名称,使用动词或动词短语作为方法的名称。 通常,方法对数据进行操作,因此,使用动词描述方法的操作可使开发人员更易于了解方法所执行的操作。定义由方法执行的操作时,应从开发人员的角度仔细选择明确的名称。不要选择描述方法如何执行其操作的动词,也就是说,不要使用实现细节作为方法名称

12、。,属性的名称,使用名词、名词短语或形容词作为属性的名称。 名词短语或形容词适合于属性,因为属性保存数据。 不要使用与 Get 方法同名的属性。 例如,不要将一个属性命名为 EmployeeRecord,又将一个方法命名为 GetEmployeeRecord。开发人员会不知道使用哪个成员来完成其编程任务。 考虑为属性提供与其类型相同的名称。 如果某个属性已强类型化为某个枚举,则该属性可与该枚举同名。例如,如果有一个名为 CacheLevel 的枚举,则返回其中一个枚举值的属性也可以命名为 CacheLevel。,事件的名称,在事件处理程序签名中使用命名为“sender”和“e”的两个参数。 s

13、ender 参数的类型应为 Object,e 参数应是 EventArgs 的实例或继承自 EventArgs 的实例。,字段的名称,字段的命名准则适用于静态公共字段和静态受保护字段。不要定义公共实例字段或受保护实例字段。 不要在字段名称中使用前缀。 例如,不要使用 g_ 或 s_ 来区分静态字段和非静态字段。,七、参数名,选择适当的参数名称可极大改善库的可用性。适当的参数名称应指示该参数会影响的数据或功能。,使用描述性参数名称。 在大多数情况下,参数名称及其类型应足以确定参数的用法。 考虑使用反映参数含义的名称而不是反映参数类型的名称。 在开发人员工具和文档中,参数的类型通常都是可见的。通过选择一个说明参数的用法或含义的名称,可以向开发人员提供有价值的信息,帮助他们找到任务所需的成员,也有助于向成员传递正确的数据。,八、资源的名称,本主题中准则适用于可本地化的资源,如错误信息和菜单文本。,使用点分隔符(“.”)以清晰的层次结构表示标识符。 例如,Menus.FileMenu.Close.Text 和 Menus.FileMenu.Close.Color 等名称符合此准则。 对异常消息资源使用下面的命名约定。资源标识符应由异常类型名称加上异常的短标识符构成,二者之间以点分隔。 例如,ArgumentException.BadEnumValue 符合此准则。,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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