代码规范

  1. .Net代码规范简介

    1. 文章开始提到过代码是给人看的,代码规范的目的在于创建一个统一的规范来保持代码的整洁,这样有利于提高代码的可维护性,但除此之外还可以将一些代码的最佳实践也作为规范的一部分,这样还可以提高代码的性能和安全性。

    2. 一般来说.Net的代码规范主要有:代码格式规范、代码使用规范,前者保证代码可读性后者保证代码执行效率和安全性。

  2. 代码格式规范

    1. 解释:代码格式规范主要的目的是统一代码编写格式,避免开发人员独特的代码编写方式,以便于项目的所有开发人员能快速的阅读其他人员开发的代码,代码格式规范主要有以下几个方面:

        注:除以下规范外,对于一个工程来说应该还有工程结构规范(也可以理解为代码目录结构规范),工程结构规范可能因项目不同而不同,但是统一规范可以提高代码查找效率和开发效率(团队新成员不会再疑惑代码应该放哪里)。

    2. 命名规范

      1. 命名规范主要涉及命名空间、类型、接口、属性、方法、变量等相关命名,其主要规范有:

        1. 使用Pascal(单词首字母大写)命名方式对命名空间、类型、枚举类型、枚举值、事件、属性、方法、常量进行命名。 例:public class PersonManager {}
        2. 使用Camel()命名方式对参数、变量、字段进行命名。
          1. 例:private string userName;
              禁止使用缩写,除URL、IO等能达成共识的缩写除外,使用缩写可全大写。
              例:System.IO;

        3. 接口以I做为前缀进行命名。
          1. 例:public interface IConvertor {}

        4. 抽象类以Abstract为前缀或者以Base为后缀进行命名。
          1. 例:public abstract class PersonBase {}

        5. 异常类型以Exception为后缀。
          1. 例:public class CustomException {}

        6. 在对任何东西命名时需要使用有意义的名称,并且保证单词拼写正确以及语法正确,避免使用拼音(地名等通用拼音除外)。
          1. 例: public string Name {get; set;}

          2. 反例: public string N {get; set;}

    3. 布局规范

         布局规范的目的是使代码变得整洁,提高代码可读性,其主要规范有:
      1.  代码缩进为4个空格
        1. 左右花括号必须独自一行,括号内容为空时除外 
          public void WriteLog(string log)
          {
            Console.WriteLine(log);
          }
          public void EmptyMethod(string log) {}
          
      2.  括号的使用:
        ◦if/for/while/do等关键字后面与左括号直接需要加空格:
              if (x == 1)
        ◦运算符左右需要加空格:
              a = c + b;
        
      3. 单行代码限制120个字符,超长处理方式:
        • 第二行相对第一行缩进4个空格,从第三行开始无需缩进。
        • 运算符及方法调用的“.”需要跟随换行,但逗号不需要。
          例:WebHost.CreateDefaultBuilder(args)
                    .UseStartup<Startup>()
                    .Build();
                  App.Method(a
                    + b,
                    c);

           

    4. 注释规范

      注释用来对编写的代码进行说明,包括功能说明以及实现说明,这样可以大大的提高程序的可读性,另外规范的注释还可以通过工具来生成相应的API文档,C#的注释规范有以下几种:
      1. 类注释
        例:/// <summary>
          /// This is a Entity Class for Post.
          /// </summary>
          public class Post

         

      2. 属性及方法注释:
        /// <summary>
        /// Get post with id
        /// </summary>
        /// <param name="id">post's identity</param>
        /// <returns>post instance</returns>
        public Post GetPostById(int id)

         

      3. 代码单行注释
        //this is a single line comment

         

      4. 代码多行注释:
        /*
        this is comment1
        this is comment2
        */

         

    5. 代码使用规范

      代码的使用规范,或者说是代码编写的最佳“实践”(当然优良的格式规范也是一种最佳实践),它们是根据代码的实现/运行原理以及特定的应用场景进行实践的最佳方案,这些方案的使用除了可以提高代码的可读行外,还可以减少程序Bug、提高程序性能及安全性,如以下几个方面: 
      1.  使用语言特性
        1. this:使用this区分类型中的属性与变量、静态成员,可以提高程序可读性。
          var:适当的使用var可以提高开发效率且不影响程序可读性,如在不知道返回值具体类型或者不需要知道类型的时候。
            反例:

        2. 字符串内插(string interpolation):字符串内插是C#6.0的特性,使用字符串内插可以提高程序可读性: 例:
        3.  异常
          • 当程序出现与预期不符时应该抛出异常让程序上游处理。
          • 尽可能使用C#中内置的异常类型。
          • 捕获异常必须处理。
          • 获取指定异常而非统一使用Exception。

  规则(法律,必须遵守否则报错)

  1. 语法
  2. 规范(道德,自身)
    1. Camel(驼峰命名)普通变量,局部变量:highSchoolStudent
    2. Pascal(帕斯卡命名)类或者函数:HighSchoolStudent
    3. 字段命名:_highSchoolStudent
    4. 注释 //,/**/,///
    5. 定义的变量或者方法 名字要有意义
      1. 方法名(要能做一件事):动词
      2. 变量名:按功能命名,按方法的返回值内容命名  userName=GetUserName();

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值