成都人才网,好代码是管出来的——C#的代码标准,现代ix25

 代码是软件开发过程的产品,代码的作用是糜经过编译器编译后运转,到达预期的作用(功用、稳定性、安全性等等),而别的一个重要作用是给人阅览。关于机器来说只需代码正确就能够正确的运转程序,可是人不同,假如代码编写紊乱就会对代码阅览形成妨碍,导致代码无法保护,甚至会导致代码重构等高本钱活动,所以标准代码势在必行。

  本文从以下几个方面介绍代码标准以及相关东西。

  • .Net代码标准简介

  • 代码格局标准

    • 命名标准

    • 布局标准

    • 注释标准

  • 代码运用标准

  • 常用的代码标准东西

  • 小结

.Net代码标准简介

  文章开端提到过代码是给人看的,代码标准的意图在于创立一个一致的标准来坚持代码的整齐,这样有利于进步代码的可保护性,但除此之外还能够将一些代码的最佳实践也作为标准的一部分,这样还能够进步代码的功用和安全性。
  一般来说.Net的代码标准首要有:代码格局标准、代码运用标准,前者保证代码可读性后者保证代码履行功率和安全性。

代码格局标准

  代码格局标准首要的意图是一致代码编写格局,防止开发人员共同的皇家一号校草帮代码编写办法,以便于项意图一切开发人员能快速的阅览其他人员开发的代码,代码格局标准首要有以下几个方面:

  注:除以下标准外,关于一个工程来说应该还有工程结构标准(也能够了解为代码目录结构标准),工程结构标准或许因项目不同而不同,可是一致标准能够进步代码查找功率和开发功率(团队新成员不会再疑问代码应该放哪里)。

命名规经期吃什么好范

  命名标准首要触及命名空间、类型、接口、特点、办法、变量等相关命名,其首要标准有:

  • 运用Pascal(单词首字母大写)命名办法对命名空间、类型、枚举类型、枚举值、事情、特点、办法、常量进行命名。

  例:public class PersonManager {}

  • 运用Camel()命名办法对参数、变量、字段进行命名。

  例:private string userName;
  制止运用缩写,除URL、IO等能到达一致的缩写在外,运用缩写可全大写。
  例:System.IO;

  • 接口以I做为前缀进行命名。

  例:public interface IConvertor {}

  • 抽象类以Abstract为前缀或许以Base为后缀进行命名。

  例:public abstract class PersonBase {}

  • 反常类型以Exception为后缀。

  例:public class CustomException {}

  • 在对任何东西命名时需求运用有意义的称号,而且保证单词拼写正确以及语法正确,防止运用拼音(地名等通用拼音在外)。

  例: public string Name {get; s成都人才网,好代码是管出来的——C#的代码标准,现代ix25et;}
  反例: public string N {get; set;}

布局标准

  布局标准的意图是使代码变得整齐,进步代码可读性,其首要标准有:

  • 代码缩进为4个空格。

  左右花括号有必要单独一行,括号内容为空时在外:
  例:public void WriteLog(string log)
    {
      Console.WriteLine(log);
    }

    public void EmptyMethod(string log) {}

  • 括号的运用:

    • if/for/while/do等关键字后边与左括号直接需求加空格:

      if (x == 1)


    • 运算符左右需求加空格:

      a = c + b;

  • 单行代码约束120个字符,超长处理办法:

    • 第二行相对榜首行缩进4个空格,从第三行开端无需缩进。

    • 运算符及办法调用的“.”需求跟从换行,但逗号不需求。

      例:WebHost.CreateDefau成都人才网,好代码是管出来的——C#的代码标准,现代ix25ltBuilder(args)
          .UseStartup<Startup>()
          .Build();
        App.Method(a
          + b,
          c);

注释标准

  注释用来对编写的代码进行阐明,包含功用阐明以及完成阐明,这样能够大大的进步程序的可读性,别的标准的注释还能够经过东西来生成相应的API文档,C#的注释标准有以下几种:

  • 类注释

  例:/// <summary>
  /// This is a Entity Class for Post.
  /// </summary>
  public class Post

  • 特点及办法注释:

  /// <summary>
  /// Get post with id
  /// </summary>
  /// <param name="id">post's identity</param>
  /// <returns>post instance</returns>
  public Post GetPostById(int id)

  • 代码单行注释:

  //this is a single line comment

  • 代码多行注释:

  /*
  this is comment1
  this is comment2
  */

代码运用规芫荽范

  代码的运用标准,或许说是代码编写的最佳“实践”(当然优秀的格局标准也是一种最佳实践),它们是根斗破天地龙王求亲请排队据代码的完成/运转原理以及特定的运用场景进行实践的最佳计划,这些计划的运用除了能够进步代码的可读行外,还能够削减程序Bug、进步程序功用及安全性,如以下几个方面:

  • 运用言语特性

  this:运用this区别类型中的特点与变量、静态成员,能够进步程序可读性。
  var:恰当的运用var能够进步开发功率且不影响程序可读性,如在不知道返回值具体类型或许不需求知道类大鱼海棠经典台词型的时分。
  反例:

  

  本例来自:https://weblogs.asp.net/dixin/csharp-coding-guidelines-4-types

  • 字符串内插(string interpolation):字符串内插是C#6.0的特性,运用字符串内插能够进步程序可读性:

 村庄精品 例:

  

  • 反常

    • 当程序出成都人才网,好代码是管出来的——C#的代码标准,现代ix25现与预期不符时应该抛出反常让程序上游处理。

    • 尽或许运用C#中内置的反常类型。

    • 捕获反常有必要处理。

    • 获取指定反常而非一致运用Exception。

  • 安全原则

  参阅:https://docs.microsoft.com/zh-cn/dotnet/standard/security/secure-coding-guidelines
  更多标准可参阅:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conv吲哚美辛entions
  代码运用标准是一个广泛的论题,除了以上一些通用的标准之外,还能够对OOP以及开发结构等方面依据实际情况拟定规矩,运用一致的标准进行开发能够让代码变得愈加简略办理。

常用的代码标准东西

  • Visual Studio

  VS是caj十分强壮的IDE,在很多功用中当然不会短少对代码标准的支撑。

  • StyleCop

  StyleCop是一个代码剖析东西,StyleCop有两个版别StyleCop和StyleCop Analyzers,前者适用于VS2010-VS2017一切版别,它的原理是在编译时对代码进行剖析,而成都人才网,好代码是管出来的——C#的代码标准,现代ix25StyleCop Analyzers仅支撑VS201肛塞5+,它根据.Net的roslyn编译结构完成的,它支撑开发时对代码进行实时剖析(不再需求等编译)。
  StyleCop:https://github.com/StyleCop/S挠脚心作文tyleCop
  StyleCop Analyzers:https://github.com/DotNetAnalyzers/StyleCopAnalyzers

  • Resharper

  Resharpe南浔r是jetbrains公司开发的一个VS收费插件,它不只包含了代码剖析,陈曦格娇还具有了代码生成、编译、测验、调试等功用。
  VS2017与Resharper的功用比较https://www.jetbrains.com/resharper/documentation/comparisonMatrix_R2018_1_vs2017.html

  • EditConfig

  EditConfig是一个跨编辑器/IDE的代码风格一致性保护东西(协议/插件页面拜访),现在VS2017现已支撑EditConfig

  • DocFx

  DocFx是一个API文档生成东西,运用DocFx能够快速的建立一个程序运用、及API文档,款式可参阅:
  DocFx教程:http://dotnet.github.io/docfx/tutorial/docfx_getting_started.html
  API文档:ht期望tp://dotnet.github.io/d成都人才网,好代码是管出来的——C#的代码标准,现代ix25ocfx/api/Microsoft.DocAsCode.html

小结

  本文首要介绍了C#中的编程标准,并将标准分为了两个类型,分别是格局标准和运用标准,前者首要意图是让代码格局到达一致性,后者则是规则了代码的运用办法,最大化的削减不同经历开发人员编写代码的质量,进步程序的可读性、功用、稳定性及安全性。
  在开发过程中编程标准是一项十分重要的作业,它关系着litter代码是否能够被保护,进步可保护功用够削减团队成员增减、功用新增、代码改变等带来的高本钱。
  编程标准的拟定并不简略,不同的人对编程标准也有不同的了解,特别是代码的运用标准,它要求拟定者有必要要成都人才网,好代码是管出来的——C#的代码标准,现代ix25有丰厚的代码开发以及代码优化经历。为了保证标准能够顺畅的拟定,个人认为需求以先拟定后修正的办法进行,先拟定是为了不耽搁开发作业,在开发作业开端之前拟定好标准即可按标准开发,后修正,其一是在开发过程中发现不合理的当地进行修正(口说无凭,实践出真理),别的是跟着团队才能成都人才网,好代码是管出来的——C#的代码标准,现代ix25的进步,能够总结更多的代码运用最佳实践。
  文章的最终介绍了一些常用的标准东西,下篇文章将具体的介绍.Net平台下的标准东西以其运用。


  另附上阿里巴巴界说的Java标准:  https://github.com/alibaba/p3c/blob/master/%E9%98工程车%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E8%AF%A6%E5%B0%BD%E7%89%88%EF%BC%89.pdf

参阅:
  https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
  https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions
  https://docs.microsoft.com/zh-cn/dotnet/standard/security/secure-coding-guidelines#application-code-that-is-not-a-reusable-component
  https://orcharddojo.net/orchard-resources/Library/DevelopmentGuidelines/BestPractices/CSharp
  https://www.codeproject.com/articles/118853/some-best-practices-for-c-application-development
  https://weblogs.asp.net/dixin/csharp-coding-guidelines-1-fundamentals
  https://github.com/dotnet/docfx
  https://github.com/alibaba/p3c/blob/master/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E8%AF%A6%E5%B0%BD%E7%89%88%EF%BC%89.pdf

本文链接:https://www.cnblogs.com/selimsong/p/9160928.html 

好代码是管出来的——浅谈.Net Core的代qaq码办理办法与落地(更新中...)

作者:7m鱼
出处:http://www.cnblogs.com/selimsong/
本文版权归作者和博客爱情线园共有,欢迎转载,但未经作者赞同有必要保存此段声明,且在文章页面显着方位给出原文衔接,不然保存追查法律责任的权力。