C# 代码规范

代码规范主要从命名规范、布局规范、注释规范、代码使用规范四块来解释。

命令规范

  1. 变量命名规范

1).  含义,变量一般指局部变量、成员变量、全局变量以及方法中的参数,这些命名要具有     

      相对应的含义,一般使用需要的英文单词来表示,要满足Camel规则。

2).  Camel规则, 名称中的第一个单词的首字母不能大写。

3).  注意, 一般在不知道返回的是什么类型的时候,一般会用弱类型(var)去接。

                  不能名称中的单词全部大写。

                  不能使用数字来区分变量。

                  不能使用缩写来代替变量名(除了URL\IO这样达成共识的,在循环中的)。

                  不给变量添加任何的前缀(除布尔类型(is/can)及私有和受保护的变量(“_”前缀))。  

                   变量要声明在类的顶部,静态变量放在最前面。

                     常量所有单词大写,多个单词之间使用“_”连接。 

   2. 文件名、方法名、类名、接口命名规范

1).  含义, 文件名、方法名、类名也要有相对应的含义去命名,需要满足Pascal规则。

2).   Pascal规则, 名称中的单词首字母大写。

 3).   注意,文件名在分层项目中使用, 一定要在文件名称的最后加上层级名。

                   方法名一般会使用动宾短语,尽量减少使用get。

                    接口使用I作为前缀。

                    类名一般使用名词或者名词短语。

                      特殊类:抽象类,使用Abstract为前缀或者Base为后缀。

                                         异常类,以Exception为后缀。

                                      自定义类,以Attribute作为后缀。

 3. 命名空间规范

1).  含义, 命名空间是为引用时做的一个标记。

2).  Pascal规则, 名称中的单词首字母大写。

3).  注意, 一般使用“公司名称.技术名称”,或者使用”项目名称.技术名称”

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

 4. 委托和事件命名规范

1). 委托,以EventHandler作为后缀名。

2). 事件,以其对应的委托类型,去掉EventHandler后缀,添加On前缀。

 

布局规范

1. 代码缩进

代码缩进4个空格(在方法中无参数,可在一行,有参数则将花括号独自占一行)

2. 代码换行

单行代码限制在120个字符,超长处理:

       第二行相对第一行缩进4空格,从第三行开始保持和第二行一致。

        运算符及方法调用“.”需要跟随换行,但逗号不需要。                              

3. 代码空行

1).  空两行

         接口和类定义之间。

         枚举和类定义之间。

         类与类定义之间。

2).  空一行

           方法与方法、属性与属性、属性与方法、属性与字段、方法与字段之间。

           方法中变量声明和语句之间。

           方法与方法之间。

           方法中不同逻辑块之间。

           方法中返回语句和其他语句之间。

           注释与它注释的语句间不空行,但与其它的语句间空一行。

4. 代码空格

1).  关键字和左括符“(”

2).  方法名和左括符“(”不要使用。

3).  多个参数用逗号分隔,逗号后需要添加一个空格。

4).  除了“.”之外,所有二元操作符需要空格分开。

5).  一元操作符、++、--不能用空格分隔。

6).  语句表达式之间用空格分隔,常见于for, if 语句中。

5. 代码括号(花括号)

1).  在没有必要的时候,不要再返回语句中使用括号().

2).  左括符“(”和关键字空格。

3).  左括符“(”和方法名, 不添加空格。

4).  左花括号放在关键字或者方法名下一行,左右花括号对齐。

5).  if、while、do语句后一定要使用{},即使{}号中为空或只有一条语句。

6).  右花括号 “}” 后建议加一个注释以便于方便的找到与之相应的 {。

 

注释规范

  1. 类注释

  /// <summary>

 /// 类的作用描述

/// </summary>

public class Post

2. 属性和方法注释

  /// <summary>
/// 方法(属性)作用描述

/// </summary>
/// <param name="id">参数说明</param>
/// <returns>返回结果</returns>
public Post GetPostById(int id)

3. 代码单行注释

 //this is a single line comment

4. 代码多行注释

  /*
  this is comment1
  this is comment2
  */

代码使用规范

1. 使用语言特性

 1). this, 使用this区分类型中的属性,变量、静态成员。

 2). var, 适当的使用可以提高开发效率,用在不知道返回的具体类型和不需要知道返回类型

2. 异常

1). 当程序出现与预期不符时应该抛出异常让程序上有处理。

2). 尽可能使用内置的异常类型。

3). 捕获异常必须处理。

4). 获取指定异常而非统一使用Exception.

5). 做测试时,在对应的方法或者函数内部直接抛出尽可能出现的异常,以供解决问题 。

3. 安全准则

1). 在代码中不要使用具体的路径,驱动名称,使用相对并保证复用。

2). 在代码中注意资源的释放。

3). 安全协议的使用(HTTP, HTTPClient )。

4. 字符串内插

字符串内插提高可读性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值