您的位置:首页 > 编程语言

【高效代码调错系列之静态代码分析】——将错误扼杀在摇篮

2017-11-27 21:05 232 查看
前言

什么是静态代码分析

静态代码分析工具的优势

常见的静态代码分析工具
常见的静态代码分析工具对比

总结

前言

前面我们讲到了代码规范,规范是有了,但是有没有按照规范执行呢,总不能人为的去检查吧,因此我们有了静态代码分析工具,它能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性并节省软件开发和测试成本,避免有缺陷的代码进行提交。

什么是静态代码分析

静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。

在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动态测试用例的参考。统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。

静态代码分析工具的优势

帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷。

帮助代码设计人员更专注于分析和解决代码设计缺陷。

显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。

常见的静态代码分析工具

CheckStyle

FindBugs

PMD

功能强大的SonarQube

阿里巴巴Java开发规约插件

常见的静态代码分析工具对比

http://java.ctolib.com/article/compares/62579

https://www.ibm.com/developerworks/cn/java/j-lo-statictest-tools/index.html

总结

无论哪种静态代码分析工具都是在提高我们的代码质量,修复代码缺陷。对于个人使用来说,checkstyle,findbugs,阿里规约等插件基本上都能够满足我们的需求。但是对于一个团队中的领导者来说,他想要看项目的代码质量怎么样,sonarqube就是一个很好的工具,无需看代码,只需要看视图型的分析就可以看到整个项目代码的质量情况。而且sonarqube还可以和jenkins进行集成使用直接生成代码质量分析报告,代码质量未通过就集成失败,严重把控服务器上的代码质量。

其他参考资料:

1、使用sonar去呗实现代码静态扫描及问题总结

2、从QA的角度来谈谈代码质量的改进

3、interllij idea与sonarqube的集成使用

4、eclipse代码质量检查插件SonarLint的正确配置及使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码分析