代码审核工具对比

代码审核工具对比

FindBugs

  • 介绍

    • 基于字节码分析

    • 侧重运行时错误检测

    • 检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题

    • 简单高效全面地帮助发现程序代码中存在的bug,以及潜在隐患

  • 使用

    • 可在IDE上下载插件使用

CheckStyle

  • 介绍

    • 基于源码分析

    • 侧重语法风格

    • 检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范

  • 使用

    • 可在IDE上下载插件使用

PMD

  • 介绍

    • 基于源码分析

    • 通过静态分析获知代码错误,主要检查重复代码,比如直接copy的那些代码段

  • 使用

    • 可在IDE上下载插件使用

Sonar

  • 介绍

    • 市场上最受欢迎的代码质量和安全性分析工具

    • 定位是代码质量平台,本身不进行代码分析,集成各静态工具分析;

    • 比findbugs高了一个层级,多出了sonar不仅关注了常规静态bug,还关注到了如代码质量、包与包,类与类之间的依赖情况、代码耦合情况、类,方法。文件的复杂度、代码中是否包含大量复制粘贴的代码是质量低下的,关注到了项目代码整体的健康情况

  • 使用

    • 需按照部署

其他

  • Alibaba Java Coding Guidelines 插件

    • 介绍

      • 阿里下P3C项目 代码开发规约插件

    • 使用

      • 可在IDE上下载插件使用

总结

FindBugs、CheckStyle、PMD 各有侧重点,相对轻量级可以插件形式使用;

Sonar 可整合定制以上工具,平台化形式使用;

 

IDE上的可安装的插件,使用场景是自用自审;而Sonar使用场景则是他审,即审核代码的人使用。

参考

https://www.jianshu.com/p/27dd601743d5

https://www.zhihu.com/question/19620900

https://blog.csdn.net/An1090239782/article/details/106185725

原文地址:https://www.cnblogs.com/GO-NO-1/p/14448221.html