1、大小写约定
为了区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。不要用下划线来区分单词,或者在标识符中任何地方使用下划线,有两种方式适合大写标识符的字母:
PascalCasing(除了参数之外的所有标识符,每个单词的首字母大写,字母缩写用大写,例如IOStream),
cameCasing(参数,开头是缩写的话也用小写,例如ioStream);
不同类型的大小写规则
不要把所谓闭合形式的复合词中的每个字母首字母大写(不知道复合词请查英文字典),常用复合词大小写拼写
2、命名约定
要为标识符选择易读懂的名字
要看重可读性,而不是简洁性
不要用下划线、连字符、其他非字母的字符
不要用匈牙利命名法 如frmUser,
不要用缩写词和缩略词作为标识符的组成部分,如GetWindow ->GetWin
不要使用未被广泛使用的首字母缩写词
在编程中避免使用别名,劲量用CLR通用的类型名,如int应该用Int32
优先使用后缀而不是前缀
程序集和DLL
名字空间和类名
不要引入太一般化的类型名,如Element、Node、Log、Message等等
类、结构、接口
要用名词或者名词短语来给类和结构命名
要用形容词短语接口命名,用I前缀
在派生类的末尾使用基类名字,如Attribute,SerializableAttribute
相对应的类和接口最好只有I区别
泛型参数的命名
要用描述性的名字来命名泛型类型的参数,参数加上前缀T
或者采用单个字母T作为参数类型
常用的类型命名规则
枚举:要用单数名词来命名枚举类型,除非它表示的是位域
不要给枚举值加前缀
类型成员
用动词活动词短语给方法命名
不要让属性带有Get…这类的看起来感觉很像方法
集合最好用复数,而不是加List之类的后缀
要用肯定性的短语,如CanSeek
事件
字段