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 然后安装就可以了
安装完成就直接可以看到效果了,StyleCop.Analyzers 会像 ReSharper 那样在你写代码的时候就提示错误,而不用编译以后才发现错误了。
不过编译以后还是会把所有的错误提示显示出来
配置自定义规则
在上面的图片里,可以看到我的项目一共有32个 StyleCop 警告,下面我们就把 SA1652 警告去除。
找到引用里得 Analyzer,右键点击 Open Active Rule Set,就可以打开规则表
然后找到 StyleCop.Analyzers 的规则 SA1652,取消勾选,然后保存。
最终会在项目里生成一个 .ruleset 后缀的文件就是我们的自定义规则。
编译以后查看效果,就会发现前面提示的 SA1652 的警告已经没有了。
结束语
编码规范是一个Coder应该具有的基本素养,如何能编写出简洁、规范的代码显得尤为重要,借用Python之禅与各位共勉:
优美胜于丑陋(以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
---------------------
作者:butfour
来源:****
原文:https://blog.****.net/butfour/article/details/80664264
版权声明:本文为博主原创文章,转载请附上博文链接!