ü 用PascalCasing命名多个单词构成的命名空间、类型以及成员的名字。
例如:使用TextColor而不使用Textcolor,单个单词(Button)的首字母大写,当一个单词为复合词(endpoint)作为一个单词,只有第一字母大写。
ü 用camelCasing命名参数的名字。
ü 不同类型标识符的大小写规则,如下表:
标识符 |
命名法 |
例子 |
命名空间 |
Pascal |
nameSpace System.Scurity{...} |
类型 |
Pascal |
public class StreamReader{...} |
接口 |
Pascal |
public interface IEnumerable{...} |
方法 |
Pascal |
public class Object{ |
属性 |
Pascal |
public class String{ |
事件 |
Pascal |
public class Process{ |
字段(静态) |
Pascal |
public class MessageQueue{ |
枚举值 |
Pascal |
FileMode{Append,...} |
参数 |
Camel |
public class Convert{ |
ü 要把缩写词首字母为两个字母全部大写,当是camelCasing风格的参数名的作为第一单词来使用。
例如:
System.IO
Public void StartIO(Stream ioStream)
ü 把缩写词首字母为三个或三个以上字母第一字母大写,当是camelCasing风格的标识符作为第一单词来命名。
例如:
System.Xml
Public void processHtmlTag(string htmlTag)
ü 不要把camelCasing风格的标识符头部的任何首字母缩写词的任何字母大写,无论首字母缩写词的长度是多少。
ü 在涉及大小写时,大多数复合词术语要作为单个单词处理。
ü 不要把闭合形式的复合词中每个单词的首字母大写。
ü 常用的复合词和常用术语的大小写及拼写。如下表:
Pascal |
Camel |
Not |
BitFlag |
bitFlag |
Bitflag |
Callback |
callback |
CallBack |
Canceled |
canceled |
Cancelled |
DoNot |
doNot |
dont |
|
|
|
Endpoint |
endpoint |
EndPoint |
FileName |
fileName |
Filename |
Gridline |
gridline |
GridLine |
Hashtable |
hashtable |
HashTable |
Id |
id |
ID |
Indexes |
indexes |
Indices |
LogOff |
logOff |
LogOut |
LogOn |
logOn |
LogIn |
Metadata |
metadata |
MetaData,metaData |
Multipanel |
multipanel |
MultiPanel |
Multiview |
multiview |
MultiView |
Namespace |
namespace |
NameSpace |
Ok |
ok |
OK |
Pi |
pi |
PI |
Placehoder |
placehoder |
PlaceHoder |
Signln |
signln |
SignOn |
SignOut |
signOut |
SignOff |
UserName |
userName |
Username |
WhiteSpace |
whiteSpace |
Whitespace |
Writable |
writable |
Writeable |
ü 任何外部可访问的API不应该仅通过大小写来区分位于同一个上下文中的两个名字。
ü 区分大小写只有一条规范:不要以为所有的编程语言都是区分大小写的,实际情况并非如此。不应该仅仅通过大小写来区分名字。
ü 为标识符选择易于阅读的名字。
ü 要更看重可读性,而不是更看重简短性。如属性名CanScrollHorizontally要胜过ScrollableX。
û 不要使用下划线、连字符以及其他任何既非字母也非数字的字符。
û 不要使用匈牙利命名法。
û 避免使用与广泛使用的编程语言的关键字有冲突的标识符。
û 不要使用缩写词和缩约词作为标识符名字的一部分。
例如:要用GetWindow,而不用GetWin。
û 不要使用未被广泛接受的首字母缩写词,即使是被广泛接受的首字母缩写词,也只应该在必需的时候才使用。
例如:UI用来表示User Interface,HTML用来表示Hypertext Markup Language。虽然
许多框架设计师认为一些新近的首字母缩写词很快就会被广泛接受,但在框架的标识
符中使用它们仍是不好的做法。
ü 要给类型名使用语义上有意义的名字,而不要使用语言特有的关键字。
例如:GetLength这个名字比GetInt要好。
ü 要使用CLR的通用类型名,而不要使用语言特有的别名——如果除了类型之外,标识符没有其他的语义。
例如:一个把类型转换为System. Int64的方法应该被命名为ToInt64,而不是ToLong
(因为System. Int64是CLR类型名,它对应于C#特有的别名long)。
ü 语言特有的类型名及对应的CLR类型名,如下表:
C# |
Visual Basic |
C++ |