Sonar介绍

        Sonar是代码质量管理的工具。支持的功能包括:从静态分析到动态分析(单元测试)、从系统分析到人工评审、从历史分析到现在的版本分析、从Web客户端到Eclipse插件、从本地分析到远程分析、从集成其他代码分析插件(FindBugs、PMD等)到作为插件被CI持续集成、从邮件通信到任务平台交换(如JIRA)、从Web接口到插件开发。


      Sonar支持对多种编程语言进行分析。通过衡量主要指标和遵循代码规则的情况展示分析结果。分析结果依据不同的语言会有不同。
          1. 对所有语言,Sonar对源代码执行静态分析;
          2. Sonar可以静态分析编译代码,比如Java的Class文件、C#的dll文件等;
          3. 对应特定语言,Sonar能够执行动态分析,比如Java、C#的单元测试。

     Sonar能够度量的问题

      糟糕的复杂度
              包含度量文件、类、方法等的复杂度,复杂度过高的文件难以改变,后续开发人员也难以理解。
      重复
            统计重复代码。
      缺乏单元测试
            统计单元测试覆盖率

     没有代码标准
            通过集成PMD,CheckStyle,Findbugs等代码规则检测工具的插件检查代码编写规范。
     没有足够的或者过多的注释
            统计注释率。
      潜在的BUG
            通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug。

       糟糕的设计(Spaghetti Design)  

             1). 检测包与包、类与类之间的耦合度。

             2). 检测自定义的架构规则。

             3). 管理第三方的jar包。  

             4). 利用LCOM4检测方法内聚度。  

             5). 检测RFC指标。


你可能感兴趣的:(SonarQube)