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

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

 

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这些代码检查工具的区别)