可以说都是代码静态分析工具,但侧重点不同。

pmd:基于源代码分析,主要面向安全编码规则,如“避免声明同名变量”,包括风格类、类型使用等等,具备一定的数据流分析和路径分析能力。

checkstyle:基于源代码,与pmd类似,但更侧重编码的语法风格,分析深度不及pmd。

findbugs:基于字节码分析,大量使用数据流分析技术,侧重运行时错误检测,如空指针引用等,分析深度大于前述两个。

sonar:定位是代码质量平台,本身不进行代码分析,但可以集成各个静态分析工具以及其他软件开发测试工具,并基于集成工具的结果数据按照一定的质量模型,如iso-9126,对软件的质量进行评估。

详细可以参考:

http://www.oschina.net/question/129540_23043

http://tianya23.blog.51cto.com/1081650/415146

代码质量----PMD、FindBug、checkstyle、sonar这些代码检查工具的区别相关推荐

  1. 代码质量第4层——健壮的代码!

    健壮性(Robustness) 是指程序在遇到规范以外的输入,错误和异常时,仍能正常运行.简单来说,健壮代码的适应性很强,不会因为一些异常,就导致程序崩溃. 不健壮的前端代码体现为: 接口返回异常或报 ...

  2. 提升代码质量,使用插件对 java 代码进行扫描检查分析

    目录 前言 一.使用maven-checkstyle-plugin插件 1. maven-checkstyle-plugin 介绍 2.引入依赖 3.使用 二.使用 idea 插件 1.安装 2.使用 ...

  3. php代码质量怎么提高,如何提高PHP代码的质量?第一部分 自动化工具

    重复的代码是不好的,每个人都知道.有时我们错误地创建了这样的代码,我们从来没有注意到它.有时我们这样做是因为我们懒惰.最好是配备一个工具,它可以在构建时提示这个问题.PHPCPD - PHP复制/粘贴 ...

  4. sonar是一款静态代码质量分析工具

    sonar介绍 sonar是一款静态代码质量分析工具,支持Java.Python.PHP.JavaScript.CSS等25种以上的语言: 而且能够集成在IDE.Jenkins.Git等服务中,方便随 ...

  5. 怎么提高代码质量?-来自Google的研发经验总结

    你的团队有没有过这样的经历:开发效率低,招了很多人,天天加班,出活却不多,线上bug频发,领导发飙,中层束手无策,工程师抱怨不断,查找bug困难.其实这些都是代码质量差惹的祸.代码质量是研发质量管理的 ...

  6. 代码质量检测-SonarQube

    文章目录 前言 一.SonarQube是什么? 二.SonarQube安装步骤 1.docker安装 2.docker-compose安装 3. 访问SonarQube 4. 配置SonarQube ...

  7. 【代码审计】使用SonarQube进行代码质量分析管理

    2019独角兽企业重金招聘Python工程师标准>>> 在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来 ...

  8. java 代码解析工具_改善 Java 代码质量的工具与方法

    原标题:改善 Java 代码质量的工具与方法 我们可能见过上面的有关代码质量的图片,究竟如何衡量一段代码好坏? 代码质量是什么?为什么它很重要? 作家通过他的著作来讲述了一个清晰的.令人信服的故事.他 ...

  9. FindBugs,第 1 部分: 提高代码质量

    http://www.ibm.com/developerworks/cn/java/j-findbug1/ http://www.ibm.com/developerworks/cn/java/j-fi ...

最新文章

  1. 文件服务器的内存要多少,文件服务器内存要多大
  2. import keras 报错 ImportError: cannot import name ‘urlopen‘
  3. Linux参数顺序,【每日一linux命令3】参数(或称选项)顺序
  4. linux的mysql服务器密码忘了,怎么解决?
  5. Django从理论到实战(part3)--创建一个Django项目
  6. 干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则
  7. storm mysql druid_Druid 集成
  8. 教你如何将二进制文件导入到数据库
  9. Android Studio(5)---引用jar及so文件
  10. jQuery EasyUI教程之datagrid应用-1
  11. MySQL字段类型详解
  12. 利用大数据构建用户画像的好处
  13. 为什么计算机薪酬排名第一而不是临床医学?
  14. 下载和攻略补遗之人偶遗迹 ひとがたルイン
  15. 图数据库实操:用 Nebula Graph 破解成语版 Wordle 谜底
  16. Flink:watermark
  17. 在线客服系统源码(外贸多语言带翻译网页在线客服系统源码完整搭建)
  18. 利用 Github Pages 和 Hugo 快速搭建免费的个人网站
  19. Of Study(论读书)--培根
  20. 无人驾驶-从零入门(一)

热门文章

  1. Excel忘记密码怎么办?VAB破解方法
  2. Pico示波器8通道数据采集|PICO示波器高通量信号采集系统NSAT-4000
  3. 官方更新:基于VRA Tokenomics 社区常见问题解答
  4. 西安交大计算机辅助手术系统,数字医学与计算机辅助手术设备的发展趋势
  5. 阿里巴巴研究院开源的代码库有哪些
  6. cocos_creator之Flabby Bird
  7. Java List转Array
  8. 计算机在设计中发挥着怎样的作用,计算机图像处理技术在网页设计中的应用
  9. 学习git与github
  10. errno.h 详解