• 代码审核工具对比


    代码审核工具对比

    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

  • 相关阅读:
    liunx各命令及全称
    window启动数据库服务命令
    拉取github指定分支上的代码
    python项目学习
    客户展示 增删改查
    登录 注册功能 表梳理
    java简历
    go语言数组
    go语言 变量作用域
    go语言函数
  • 原文地址:https://www.cnblogs.com/GO-NO-1/p/14448221.html
Copyright © 2020-2023  润新知