Skip to main content
黑话筒

转载:.NET命名指南

.NET使用下面的三种大写标识符约定。

Pascal 大小写

将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用 Pascal 大小写。例如:BackColor

Camel 大小写

标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:backColor

大写

标识符中的所有字母都大写。仅对于由两个或者更少字母组成的标识符使用该约定。例如:System.IOSystem.Web.UI

可能还必须大写标识符以维持与现有非托管符号方案的兼容性,在该方案中所有大写字母经常用于枚举和常数值。一般情况下,在使用它们的程序集之外这些字符应当是不可见的。 下表汇总了大写规则,并提供了不同类型的标识符的示例。

标识符大小写示例
Pascal AppDomain
枚举类型 Pascal ErrorLevel
枚举值 Pascal FatalError
事件 Pascal ValueChange
异常类 Pascal WebException 注意 总是以 Exception 后缀结尾。
只读的静态字段 Pascal RedValue
接口 Pascal IDisposable 注意 总是以 I 前缀开始。
方法 Pascal ToString
命名空间 Pascal System.Drawing
参数 Camel typeName
属性 Pascal BackColor
受保护的实例字段 Camel redValue 注意 很少使用。属性优于使用受保护的实例字段。
公共实例字段 Pascal RedValue 注意 很少使用。属性优于使用公共实例字段。

为了避免混淆和保证跨语言交互操作,请遵循有关区分大小写的使用的下列规则:

为了避免混淆和保证跨语言交互操作,请遵循有关区缩写的使用的下列规则:

避免使用与常用的 .NET 框架命名空间重复的类名称。例如,不要将以下任何名称用作类名称:System、Collections、Forms 或 UI。有关 .NET 框架命名空间的列表,请参阅FCL类库。

另外,避免使用和开发语言C#/VB.NET/MC++等关键字冲突的标识符。

不同的编程语言使用不同的术语标识基本托管类型。类库设计人员必须避免使用语言特定的术语。请遵循本节中描述的规则以避免类型名称混淆。

使用描述类型的含义的名称,而不是描述类型的名称。如果参数除了其类型之外没有任何语义含义,那么在这种罕见的情况下请使用一般性名称。例如,支持将各种数据类型写入到流中的类可以有以下方法。

' [Visual Basic]
Sub Write(value As Double);
Sub Write(value As Single);
Sub Write(value As Long);
Sub Write(value As Integer);
Sub Write(value As Short);
// [C#]
void Write(double value);
void Write(float value);
void Write(long value);
void Write(int value);
void Write(short value);

不要创建语言特定的方法名称,如下面的示例所示。

' [Visual Basic]
Sub Write(doubleValue As Double);
Sub Write(singleValue As Single);
Sub Write(longValue As Long);
Sub Write(integerValue As Integer);
Sub Write(shortValue As Short);
// [C#]
void Write(double doubleValue);
void Write(float floatValue);
void Write(long longValue);
void Write(int intValue);
void Write(short shortValue);

如果有必要为每个基本数据类型创建唯一命名的方法,那么在这种极为罕见的情况下请使用通用类型名称。

例如,支持将从流读取各种数据类型的类可以有以下方法。

' [Visual Basic]
ReadDouble()As Double
ReadSingle()As Single
ReadInt64()As Long
ReadInt32()As Integer
ReadInt16()As Short
// [C#]
double ReadDouble();
float ReadSingle();
long ReadInt64();
int ReadInt32();
short ReadInt16();

前面的示例优于下面的语言特定的替换。

' [Visual Basic]
ReadDouble()As Double
ReadSingle()As Single
ReadLong()As Long
ReadInteger()As Integer
ReadShort()As Short
// [C#]
double ReadDouble();
float ReadFloat();
long ReadLong();
int ReadInt();
short ReadShort();

转载自: