背景
公司java项目利用sonar平台进行代码指标度量。比如复杂度、重复度、单测覆盖和数量、坏味道、bugs;还是挺全乎的。
在sonar jar包使用过程中,看了一下输出日志,涉及到几个插件:
-
Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:
– 可能的bug——空的try/catch/finally/switch块。
– 无用代码(Dead code):无用的本地变量,方法参数和私有方法。
– 空的if/while语句。
– 过度复杂的表达式——不必要的if语句,本来可以用while循环但是却用了for循环。
– 可优化的代码:浪费性能的String/StringBuffer的使用。 -
FindBugs 它用来查找Java代码中存在的bug。它使用静态分析方法标识出Java程序中上百种潜在的不同类型的错误。
-
Checkstyle 它定义了一系列可用的模块,每一个模块提供了严格程度(强制的,可选的…)可配置的检查规则。规则可以触发通知(notification),警告(warning)和错误(error)。
使用好这些工具,对于写出高质量的代码和良好的编码习惯培养,是有很大帮助的。再者,最近一段时间很火的 《阿里java开发手册》(网上资源很多,这里只是随便找一个地址),里面也涉及到一些编码上的问题。
接下来,记录sonar与idea集成的相关步骤:
1、idea--plugns中查找sonarLint插件,并安装;安装完成后,重启idea;
2、配置sonarlint插件:(我这里是编辑形式打开的弹窗,第一次添加时,是需要自己添加自己使用的sonar平台地址,一般是公司内部搭建的地址)
配置项目信息,在上面那个环节时,下面有个“UPdate bingding ”;看解释就很清楚了。从服务器获取项目列表、规则、配置等;必须在选择项目前完成这事儿。
第二步,配置项目:
配置完成后,在当前项目环境下,idea的左下角就可以看到sonar扩展了:
至此,idea与sonar插件集成完毕。愉快的玩耍吧。