有一个问题?

如果您有任何疑问,可以在下面询问或输入您要查找的内容!

C#开发命名规范

#### 前言

>命名规则是为了让整个程序代码统一以增强其可读性而设置的。每一个单位在开发一个软件之前都会编写一份编码规范的文档。


常用的命名方法有两种,一种是 Pascal 命名法(帕斯卡命名法),另一种是 Camel 命名法(驼峰命名法)。Pascal 命名法是指每个单词的首字母大写;Camel 命名法是指第一个单词小写,从第二个单词开始每个单词的首字母大写。


#### 软件架构

 1. 数据库中每一张表对应一个实体类/数据传输对象(DTO

 2. 实体类名称使用表名,也可带有Dto后缀

 3. 三层架构应当合理使用,不应生搬硬套

 4. 三层架构元素推荐使用后缀

     - XxxxxxDto 数据传输对象 

     - XxxxxxDAOFactory DAO工厂

     - IXxxxxxDAO DAO接口

     - IXxxxxxService 服务接口

     - XxxxxManager 业务逻辑接口


#### 

##### 标题

 1. 使用能够反映类功能的名词或名词短语命名类。

 2. 不要使用“I”、“C”、“_”等特定含义前缀

 3. 自定义异常类应以Exception结尾 

 4. 文件名要能反映类的内容,最好是和类同名


##### 字段

 1. 字段名采用camel规则


##### 属性

 1. 属性使用Pascal规则


##### 方法

 1. 方法名采用Pascal规则

 2. 方法名应使用动词或动词短语

 3. 类中访问修饰符或功能相同的方法应该放在一起

 4. 且公共或实现接口的方法在前


##### 方法参数

 1. 参数采用camel规则命名

 2. 使用描述性参数名称,参数名称应当具有足够的说明性

 3. 检查方法所有输入参数的有效性


##### 常量

 1. 只读常量使用Pascal命名规则


##### 静态字段或属性

 1. 静态字段或属性采用Pascal规则


#### 枚举

 1. 枚举名使用Pascal规则命名

 2. 枚举值从小到大顺序定义


#### 接口

 1. 接口定义使用Pascal规则

 2. 必须以大写“I”开头

 3. 接口名称要有意义,中间不要有下划线“_”等字符

 4. 如果类实现了接口,名称尽量和接口相同, 只是省掉“I”字符


#### 事件

 1. 委托名称采用Pascal规则

 2. 定义事件的委托要使用EventHandler后缀,且包括sender和e两个参数

 3. 事件用到的参数,名称要带EventArgs后缀


#### 命名空间

 1. 命名空间名称采用Pascal规则

 2. 命名空间名称尽量反映其内容所提供的整体功能


#### 注释规范

##### 文件头部注释

 1. 文件都包含文件头,要说明文件名、作者、创建时间、变更记录

 ##### 类及其成员注释

 1. 对方法和类使用“///”三斜线注释

 2. 代码行文注释采用“//”和“/**/”进行,应该尽量说明问题


#### 行文规范

##### 缩写规范

 1. 标识符应当直观可望文知意,不提倡使用任何缩写

 2. 字符串变量推荐是用“str”或“s”开头,采用string.Empty来初始化

 3. 普通对象可以“obj”获"o"开头

 4. 缩写可自行定义,一般取单词的前/后字符组成,以含义直观为准则

 5. 不要让缩写破坏标识符的含义

##### 排版

 1. 每行语句至少占一行,如果语句过长(超过一屏),则该语句断为两行显示

 2. 把相似的内容放在一起,比如字段、属性、方法、事件等,使用“#region--#endregion”命令分组

 3. 多个程序元素进行对等操作时, 操作符之前、之后或者前后都要加空格

 4. 每个方法的源程序行数原则上应该少于200行

 5. 语句嵌套层次不得超过3层

 6. 避免相同的代码段在多个地方出现


##### 语句结构

 1. 果使用了异常结构,一定要处理异常, 一般是要写日志文件

 2. 分支语句不应该使用复杂长条件, 应该将长条件封装成方法

 3. switch语句,case后面必须接break

 4. 禁止使用goto语句进行跳转

 5. 行文中严禁出现“魔数”,特定含义的常数必须定义成枚举或常量

 6. 不同类型的操作符混合使用时,使用括号给出优先级

 7. 不允许使用复杂的操作符组合等。

 8. 循环、判断语句的程序块部分用花括号括起来, 即使只有一条语句

 9. 每个类和方法完成单一的功能,不设计多用途面面俱到的类或方法

 10. 严禁使用未经初始化的变量,变量通常使用构造方法来初始


##### 代码缩进

 1. 碰到大括号要换行


##### 大小写

 1. 不要创建名称相同,但大小写区别的任何元素

 2. 应当大写仅有两个字符的缩写

 3. 不要把易混淆的数字和字符放在一起

 4. 使用英文命名标识符


##### 重名规范

 1. 不允许变量名、类名、属性名、 方法名等与系统标识符重名







发表评论