C# 代码规范和质量检查工具 StyleCop.Analyzers

转自:https://www.cnblogs.com/Soulless/p/7246333.html

简介

原来一直用 ReSharper 来进行代码质量检查,不过毕竟是收费的,所以想找个免费的可以推广给公司的同事也一起用。搜索了一下,找到了StyleCop,但是我在 VS 2015里安装 StyleCop 或者通过 Nuget 包安装 StyleCop.MSBuild,虽然编译以后能把 warning 显示在 Error List 中,但是无法通过 项目---右键 配置 StyleCop 的规则,最终在找到了一个 StyleCopAnalyzers 也算是 StyleCop 的新版本吧。

主要使用了 Visual Studio 2015's Roslyn 分析工具,带来了以下的好处:

  • 可以支持 C# 6
  • 使用 Roslyn 解析器,减少了自定义解析器的性能消耗
  • 当你写代码的时候解析器就会运行,当你编译的时候也会运行(不需要再设置 msbuild 任务或者安装任何 vs 插件)

 

安装

安装的话比较简单,在项目里管理 NuGet 包,输入 StyleCop.Analyzers 然后安装就可以了

C# 代码规范和质量检查工具 StyleCop.Analyzers

安装完成就直接可以看到效果了,StyleCop.Analyzers 会像 ReSharper 那样在你写代码的时候就提示错误,而不用编译以后才发现错误了。

C# 代码规范和质量检查工具 StyleCop.Analyzers

不过编译以后还是会把所有的错误提示显示出来

C# 代码规范和质量检查工具 StyleCop.Analyzers

 

配置自定义规则

在上面的图片里,可以看到我的项目一共有32个 StyleCop 警告,下面我们就把 SA1652 警告去除。

找到引用里得 Analyzer,右键点击 Open Active Rule Set,就可以打开规则表

C# 代码规范和质量检查工具 StyleCop.Analyzers

然后找到 StyleCop.Analyzers 的规则 SA1652,取消勾选,然后保存。

C# 代码规范和质量检查工具 StyleCop.Analyzers

最终会在项目里生成一个 .ruleset 后缀的文件就是我们的自定义规则。

C# 代码规范和质量检查工具 StyleCop.Analyzers

编译以后查看效果,就会发现前面提示的 SA1652 的警告已经没有了。

C# 代码规范和质量检查工具 StyleCop.Analyzers

 

结束语

编码规范是一个Coder应该具有的基本素养,如何能编写出简洁、规范的代码显得尤为重要,借用Python之禅与各位共勉:

优美胜于丑陋(以编写优美的代码为目标)

明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

可读性很重要(优美的代码是可读的)

即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)

当存在多种可能,不要尝试去猜测 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)

虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )

做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)

命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
---------------------
作者:butfour
来源:****
原文:https://blog.****.net/butfour/article/details/80664264
版权声明:本文为博主原创文章,转载请附上博文链接!