美文网首页@IT·互联网
Java代码静态检测工具比较

Java代码静态检测工具比较

作者: caison | 来源:发表于2018-07-16 09:42 被阅读10次
Zero-day.jpg

最近团队想引进代码静态检测工具,稍微调研一下:

工具比较

功能比较

Checkstyle FindBugs PMD Jtest SonarQube
使用方式 IDE插件 IDE插件 IDE插件 IDE插件 IDE插件+独立部署的服务
自定义规则
集成到Jenkins中
多版本统计
缺陷跟踪记录统计
代码测试覆盖率
(需要配合jacoco)

工具查错能力比较

代码缺陷分类 示例 Checkstyle FindBugs PMD Jtest
引用操作 空指针引用
对象操作 对象比较(使用 == 而不是 equals)
表达式复杂化 多余的 if 语句
数组使用 数组下标越界
未使用变量或代码段 未使用变量
资源回收 I/O 未关闭
方法调用 未使用方法返回值
代码设计 空的 try/catch/finally 块

SonarQube 特征

  • 支持超过25种编程语言:Java、C/C++、C#、PHP、Flex、Groovy、JavaScript、Python、PL/SQL、COBOL等。(不过有些是商业软件插件)
  • 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理
  • 可以在Android开发中使用
  • 提供重复代码、编码标准、单元测试、代码覆盖率、代码复杂度、潜在Bug、注释和软件设计报告
  • 提供了指标历史记录、计划图(“时间机器”)和微分查看
    提供了完全自动化的分析:与Maven、Ant、Gradle和持续集成工具(Atlassian Bamboo、Jenkins、Hudson等)
  • 与Eclipse开发环境集成
  • 与JIRA、Mantis、LDAP、Fortify等外部工具集
  • 支持扩展插件
  • 利用SQALE计算技术债务
  • 支持Tomcat。不过计划从SonarQube 4.1起终止对Tomcat的支持。
Sonarqube-nemo-dashboard

参考

Java静态检测工具/Java代码规范和质量检查简单介绍(转)

常用 Java 静态代码分析工具的分析与比较

SonarQube维基百科

相关文章

  • Java代码静态检测工具比较

    最近团队想引进代码静态检测工具,稍微调研一下: 工具比较 功能比较 工具查错能力比较 SonarQube 特征 支...

  • 强制执行Lint规范代码

    Lint 开发中使用静态代码检测工具对代码进行检查,达到规范代码减少bug的目的。常用的检测工具有FindBugs...

  • Android单元测试——辅助工具介绍

    目录 一.Code Coverage Tool : jacoco、IntelliJ IDEA 二.静态代码检测工具...

  • 百臂巨人与塔尔塔罗斯

    前言 一款静态代码检测工具,包含阿里java规约检测和lint检测,支持自定义pmd和lint配置,结合git在代...

  • Jenkins集成PMD、FindBugs、Checkstyle

    为了规范代码,我们一般会集成静态代码检测工具,比如PMD、FindBugs、Checkstyle,那么Jenkin...

  • Gradle配置lintOptions

    lint 是google 给出的静态代码检测工具,用于分析包括内存泄漏,纠正代码规范,查找疑似BUG等。。。打包时...

  • Java和Kotlin类的初始化顺序

    Java Java程序初始化的顺序:父类静态变量 -> 父类静态代码块 -> 子类静态变量 -> 子类静态代码块 ...

  • pylint配置

    pylint python代码静态检测工具 使用 安装 pip install pylint 查看是否安装成功 p...

  • Android Lint

    Android Lint 是有 Android SDK 提供的一种静态代码检测工具,用于检测 Android 的代...

  • eslint 静态代码检测工具

    ESLint最初是由Nicholas C. Zakas 于2013年6月创建的开源项目。它的目标是提供一个插件化的...

网友评论

    本文标题:Java代码静态检测工具比较

    本文链接:https://www.haomeiwen.com/subject/wbjvpftx.html