通用命名约定

通用命名约定讨论的是如何为库元素选择最适当的名称。 这些准则适用于所有标识符。 后面各节讨论特定元素(如命名空间或属性)的命名。

选择名称

请选择易读的标识符名称。 例如,英文属性名称 HorizontalAlignment 比 AlignmentHorizontal 更具可读性。

可读性比简洁性更重要。 属性名称 CanScrollHorizontally 比 ScrollableX(指 X 轴,但意义不明确)更好。

不要使用下划线、连字符或任何其他非字母数字字符。

不要使用匈牙利表示法。

匈牙利表示法是在标识符中使用一个前缀对参数的某些元数据进行编码,如标识符的数据类型。

避免使用与常用编程语言的关键字冲突的标识符。

虽然符合 CLS 的语言必须提供将关键字用作普通字的方法,最佳做法不要求强制开发人员了解如何实现。 对于大多数编程语言,语言参考文档都会提供语言所使用的关键字列表。 下表提供了某些常用编程语言的参考文档的链接。

Language

Link

C#

C# 参考

C++

C++ Language Reference

Visual Basic

Visual Basic 语言参考

缩写和首字母缩写词

通常,不应使用缩写或首字母缩写词。 这类名称的可读性较差。 同样,要确定某个首字母缩写词是否已受到广泛认可也是很困难的。

对于缩写词的大小写规则,请参见大小写约定

不要将缩写或缩略形式用作标识符名称的组成部分。

例如,使用 OnButtonClick 而不要使用 OnBtnClick。

除非必要,不要使用任何未被广泛接受的首字母缩写词。

语言特定的名称

对于类型名称,应使用语义上有意义的名称而不要使用语言特定的关键字。 例如,名称 GetLength 比 GetInt 更好。

在标识符的语义含义仅限于其类型的极少数情况下,应使用一般公共语言运行时 (CLR) 类型名称,而不要使用语言特定的名称。

例如,将数据转换为 Int16 的方法应命名为 ToInt16 而不是 ToShort,因为 Short 是 Int16 的语言特定的类型名称。

下表显示的是公共编程语言和 CLR 的相应语言特定的类型名称。

C# 类型名称

Visual Basic 类型名称

JScript 类型名称

Visual C++ 类型名称

Ilasm.exe 表示形式

CLR 类型名称

sbyte

SByte

sByte

char

int8

SByte

byte

Byte

byte

unsigned char

unsigned int8

Byte

short

Short

short

short

int16

Int16

ushort

UInt16

ushort

unsigned short

unsigned int16

UInt16

int

Integer

int

int

int32

Int32

uint

UInt32

uint

unsigned int

unsigned int32

UInt32

long

Long

long

__int64

int64

Int64

ulong

UInt64

ulong

unsigned __int64

unsigned int64

UInt64

float

Single

float

float

float32

Single

double

Double

double

double

float64

Double

bool

Boolean

boolean

bool

bool

Boolean

char

Char

char

wchar_t

char

Char

string

字符串

string

字符串

string

字符串

object

对象

object

对象

object

对象

在标识符没有语义含义且参数的类型不重要的极少数情况下,应使用通用名称(如值或项),而不要重复类型名称。

部分版权所有 2005 Microsoft Corporation。 保留所有权利。

部分版权所有 Addison-Wesley Corporation。 保留所有权利。

设计指引的详细信息,请参阅"框架设计准则: 公约、 成语和可重复使用的模式。网络图书馆"书 Krzysztof Cwalina 和布拉德 · 艾布拉姆斯,2005年艾迪生 - 韦斯利,发表。

请参见

其他资源

类库开发的设计准则

名称准则