3、 在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如,用 UI 作为 User Interface 缩
写,用 OLAP 作为 On-line Analytical Processing 的缩写。
4、 在使用缩写时,对于超过两个字符长度的缩写请使用 Pascal 大小写或 Camel 大小写。例如,使用 HtmlButton 或 HTMLButton。但是,应当大写仅有两个字符的缩写,如,System.IO,而不是 System.Io。
5、不要在标识符或参数名称中使用缩写。如果必须使用缩写,对于由多于两个字符所组成的缩写请
使用Camel 大小写,虽然这和单词的标准缩写相冲突。
5.4 命名空间
1、命名命名空间时的一般性规则是使用公司名称,后跟技术名称和可选的功能与设计,如下所示。
CompanyName.TechnologyName[.Feature][.Design]
例如:
namespace Langchao.Procurement //浪潮公司的采购单管理系统
namespace Langchao.Procurement.DataRules //浪潮公司的采购单管理系统的业务规则模块
2、命名空间使用Pascal大小写,用逗号分隔开。
3、TechnologyName 指的是该项目的英文缩写,或软件名。
4、命名空间和类不能使用同样的名字。例如,有一个类被命名为Debug后,就不要再使用Debug作为一个名称空间名。
5.5 类
1、使用 Pascal 大小写。 2、用名词或名词短语命名类。
3、使用全称避免缩写,除非缩写已是一种公认的约定,如URL、HTML 4 、不要使用类型前缀,如在类名称上对类使用 C 前缀。例如,使用类名称 FileStream,而不是 CFileStream。
5 、不要使用下划线字符 (_)。
6 、有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称
IdentityStore 是适当的。在适当的地方,使用复合单词命名派生的类。派生类名
称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为
Exception 的类派生的类是适当的名称,原因ApplicationException 是一种Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派
生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。
public class FileStream
public class Button
public class String
5.6 接口
以下规则概述接口的命名指南:
1、用名词或名词短语,或者描述行为的形容词命名接口。例如,接口名称
IComponent 使用描述性名词。接口名称 ICustomAttributeProvider 使用名词短语。
名称 IPersistable 使用形容词。
2、使用 Pascal 大小写。 3、少用缩写。
4、给接口名称加上字母 I 前缀,以指示该类型为接口。在定义类/接口对(其中类是接口的标准实现)时使用相似的名称。两个名称的区别应该只是接口名称上有字母 I 前缀。
5、不要使用下划线字符 (_)。
6、当类是接口的标准执行时,定义这一对类/接口组合就要使用相似的名称。两个名称的不同之处
只是接口名前有一个I前缀。 以下是正确命名的接口的示例。
public interface IServiceProvider
public interface IFormatable
以下代码示例阐释如何定义 IComponent 接口及其标准实现 Component 类。
public interface IComponent
{
// Implementation code goes here. }
public class Component: IComponent
{
// Implementation code goes here.
}
5.7 属性 (Attribute)
应该总是将后缀 Attribute 添加到自定义属性类。以下是正确命名的属性类的示例。
public class ObsoleteAttribute { }
5.8 枚举 (Enum)
枚举 (Enum) 值类型从 Enum 类继承。以下规则概述枚举的命名指南: 1、对于 Enum 类型和值名称使用 Pascal 大小写。 2、 少用缩写。
3、 不要在 Enum 类型名称上使用 Enum 后缀。
4、 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。
5、 总是将 FlagsAttribute 添加到位域 Enum 类型。
5.9 参数
以下规则概述参数的命名指南:
1、使用描述性参数名称。参数名称应当具有足够的描述性,以便参数的名称及其类型可用于在大多数情况下确定它的含义。
2、对参数名称使用 Camel 大小写。
3、 使用描述参数的含义的名称,而不要使用描述参数的类型的名称。开发工具将提供有关参数的类型的有意义的信息。因此, 通过描述意义,可以更好地使用参数的名称。少用基于类型的参数名称,仅在适合使用它们的地方使用它们。
4、不要使用保留的参数。保留的参数是专用参数,如果需要,可以在未来的版本中公开它们。相反,如果在类库的未来版本中需要更多的数据,请为方法添加新的重载。
5、不要给参数名称加匈牙利语类型表示法的前缀。 以下是正确命名的参数的示例。
Type GetType(string typeName)
string Format(string format, args() As object)
5.10 方法
以下规则概述方法的命名指南: 1、 使用动词或动词短语命名方法。 2、 使用 Pascal 大小写。 3、 以下是正确命名的方法的实例。
RemoveAll() GetCharArray() Invoke()
5.11 属性 (property)
以下规则概述属性的命名指南: 1、 使用名词或名词短语命名属性。 2、 使用 Pascal 大小写。 3、 不要使用匈牙利语表示法。
4、 考虑用与属性的基础类型相同的名称创建属性。例如,如果声明名为 Color 的属性,则属
性的类型同样应该是 Color。请参阅本主题中后面的示例。
以下代码示例阐释正确的属性命名。
public class SampleClass {
public Color BackColor {
// Code for Get and Set accessors goes here. } }
以下代码示例阐释提供其名称与类型相同的属性。
public enum Color
{
// Insert code for Enum here. }
public class Control {
public Color Color {
get {
// Insert code here. } set {
// Insert code here. }
} }
以下代码示例不正确,原因是 Color 属性是 Integer 类型的。
public enum Color
{