StyleCop 代码审查(VS插件)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33538554/article/details/52777580
代码审查:StyleCop  (介绍,下载,使用,自定义规则,源码)
StyleCop简介:
StyleCop是代码规范检查工具(Code Review 工具),它不仅仅检查代码格式,而是编码规范,包括命名和注释等。StyleCop可以帮助你更容易地进行这项活动。StyleCop现在包含了 200 个左右的最佳实践规则(best practice rules),这些规则与 Visual Studio 2005 和 Visual Studio 2008 中默认的代码格式化规则是一致的。它会根据预定义的C#代码格式的最佳实践,对我们的源代码进行检查,并给出不符合编码风格的错误提示。这一点来说与微软的另一个代码检查工具 FxCop 很相似,但 FxCop 是对 dll (compiled binaries) 进行检查,所以 FxCop 适用于新项目通过持续集成工具来使用的情况。也就是说 FxCop 是项目级别的,而 StyleCop是代码级别的,更适合于程序员在编程过程中使用。
StyleCop检查的常用规则:
Documentation Rules 文档规则
Layout Rules 布局规则
Maintainability Rules 可维护性规则
Naming Rules 命名规则
Ordering Rules 代码顺序规则
Readability Rules 可读性规则

Spacing Rules 间距规则

关于规则的解读:

http://blog.csdn.net/zzh920625/article/details/51637793

StyleCop下载地址:

http://stylecop.codeplex.com/releases/view/621306


StyleCop自定义规则:

1.vs-创建-类库
2.vs-创建-类
3.vs-创建-xml文件
4.vs-将项目生成dll文件
5.vs-将生成的dll文件放在StyleCop安装的根目录下就OK
注意:
1.目标框架(.NET Framework 3.5)可忽略
2.创建的类名与xml文件名相同

3.需要引用using StyleCop;using StyleCop.CSharp;

4.xml文件,属性,生成操作,选择嵌入的资源

StyleCop自定义规则案例:
类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using StyleCop;
using StyleCop.CSharp;

namespace 方法名首字母大写Rules
{
    [SourceAnalyzer(typeof(CsParser))]
    public class CustomAnalyzer : SourceAnalyzer
    {
        public override void AnalyzeDocument(CodeDocument document)
        {
            CsDocument doc = (CsDocument)document;

            if (doc.RootElement == null || doc.RootElement.Generated) return;
            doc.WalkDocument(CheckClasses);
        }
        private bool CheckClasses(CsElement element, CsElement parentElement, object context)
        {
            if (element.ElementType != ElementType.Method) return true;
            Method methodElement = (Method)element;
            string firstLetter = methodElement.Declaration.Name.Substring(0, 1);
            if (firstLetter.ToUpper().Equals(firstLetter) == false)
            {
                AddViolation(methodElement, methodElement.Location, "MethodBighumpNames", methodElement.FriendlyTypeText);
            }
            return true;
        }
    }
}
xml文件:

<?xml version="1.0" encoding="utf-8" ?>
<SourceAnalyzer Name="方法名首字母大写 Rules">
  <Description>
    方法名首字母大写 Rules.
  </Description>
  <Rules>
    <Rule Name="MethodBighumpNames" CheckId="CR0001">
      <Context>方法名必须以大写字母开始</Context>
      <Description>Public method must begin with upper case letter.</Description>
    </Rule>
  </Rules>
</SourceAnalyzer>

StyleCop警告提示变为错误提示:

StyleCop4.7

1.在安装StyleCop的是候有一个MSBuild integration的选项,它默认是不安装的,所以安装的时候记得选择(*默认路径C:\Program Files (x86)\StyleCop 4.7)

2.安装之后:C:\Program Files (x86)\MSBuild\StyleCop\v4.7 的文件夹下会有一个StyleCop.Targets文件,打开文件将里面的字节<UsingTask>一行

改为<UsingTask AssemblyFile="StyleCop.dll" TaskName="StyleCopTask"/>保存

3.配置你的项目,打开你的项目目录,其中会有一个.csproj文件,使用记事本之类的工具打开,在第一个PropertyGroup 节末端添加

<StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>

在<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />后面添加<Import Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets" />

4.重新打开项目

注意:

如果不是StyleCop4.7版本的,默认安装路径可能会不同,StyleCop.Targets文件名及路径也会不同,所以<Import>节中的路径要改


猜你喜欢

转载自blog.csdn.net/qq_33538554/article/details/52777580
今日推荐