一、概述:
对于代码命名我们都不陌生,见名之意是最基本的,但是如何做到见名之意呢,如何做到像自然语言那样清晰的描述呢?
下面我们就从.Net基本命名规范说起。
二、基本命名规范
1. 以<Company>.<Component>.<Layer>为命名空间命名:
如:CTIL.CRMEasy.Business,这里的CTIL是公司,CRMEasy指项目组件,Business指业务层。
2. 程序集(物理分层)不必一定与命名空间(逻辑分层)相同:
多数时候我们的程序集和命名空间是一致的,只有特殊情况需要特殊处理。
3. 在命名空间中使用复数:
当相似的类型被分组到同一个命名空间下,可以考虑命名空间使用复数。
4. 避免命名与FCL关键字命名相同;
5. 用名词或者名词词组给类命名:
类对应着实体世界中的对象,即意味着他是名称描述,如:UserControl
6. 用形容词组给接口命名:
接口的规范是“Can do”,形容规范的行为,所以命名应该是形容词。
7. 子类命名以父类名称为后缀:
这个很好理解,你爸姓什么,你就应该姓什么,老外的姓是放在后面的。
8. 泛型类型参数要以T作为前缀:
这属于硬性规范吧,一般泛型使用T,多参数可以用T1、T2等,记住:只要是泛型就应该以T作为前缀命名。
9. 以复数命名枚举,以单数命名枚举元素:
枚举类型是由多个单一的枚举元素做成。
10.用PasecalCasing命名公开元素:
开发给调用者使用的属性、字段和方法都应该使用PasecalCasing命名方式。
11.用camelCasing命名私有字段和局部变量:
私有字段和局部变量只对本类型负责,所以采用与开放性属性字段不同的命名规范。
12. 用类型对应属性名:
如果一个属性对应一个类性,则应该直接用类型作为属性名。
13.有选择的使用前缀:
最常用的前缀:m_和s_分别表示实例变量(my)和静态变量(static),切记:宁可不用也不要滥用。
14. 使用肯定性的短语命名布尔属性:
布尔只代表是否,所以可以用肯定性的短语表示他,如:Is、Has和Can作为前缀。
15.优先使用后缀表示已有类型的新版本:
后缀作为版本号,多数使用数字(竟管我们不赞成使用数字)。
16. 委托和事件类型应添加上一级为后缀:
委托本身就是一个类,他的上一级可以成为他的父类,由于满足上面的第7条。
17.委托和事件类型变量使用动词或者形容词短语命名:
如:Click(单击事件)
18.事件处理器命名采用组合方式:
如:Button_Click
此刻开始为我的代码规范命名,以此18条为戒律。