代码静态扫描 Sonar, Checkstyle, PMD, Findbug 的对比与使用侧重

首先 Sonar 为代码质量平台,做多维度统计及结果数据展示用,本身不具备代码扫描功能,可由 QA 或 Tester 直接运维及使用管理。题外话,除去可插入代码静态扫描结果展现外,还可以插入测试运行时动态覆盖率扫描(例如:Jacoco)结果

其次 Checkstyle 侧重对文法分析,即对编码风格、约定的语法扫描,不做代码缺陷模式(对Bad Practise的推断或预判式)的扫描(例如:发现空指针),可作为公司第一道强约束关卡,亦可供研发人员在提交代码库之前先行自查。

PMD 和 Findbug 侧重代码缺陷的扫描,公司可视项目情况予以裁剪和取舍。

前者多基于编码及设计实践(例如:变量未被使用,重复代码块,循环体内创建对象等),自定义能力强。公司可通过裁剪和不断丰富以形成本公司编码设计的 Best practise;后者基于对字节流的扫描分析(例如:I/O 打开后未关闭),有更强的编码缺陷发现能力。

以上可结合IDE工具(工程师本地检查),Jenkins 平台(项目集成扫描)或独立Sonar平台联合使用

附一篇较早的原理、概念及比对文章:https://www.ibm.com/developerworks/cn/java/j-lo-statictest-tools/

 

其他关联性文章:


自动化体系平台建设 —— 全流程质量保证及改进措施 https://blog.csdn.net/ahhriver/article/details/90711629

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值