我们使用大量遗留代码,并考虑为新代码引入一些指标。是否可以让Findbugs和Checkstyle仅运行已更改的文件而不是完整的项目?
确保只检查质量最低的文件会很好,但代码库本身(尚未)触及并评估不会使人们因成千上万的问题而混淆。
答案 0 :(得分:3)
从理论上讲,这是可能的。您将使用shell脚本在给定的开始日期之后解析SVN(或任何SCM)更改日志,从这些更改集中标识.java文件并从中构建两个模式:
onlyAnalyze
的名称,所以你有
将文件名转换为完全限定的类名(这将得到
当你处理内部类时很棘手)packageNamesLocation
参数的配置文件。
不幸的是,只允许包,而不是单个文件。所以
你必须将文件名翻译成包。在上面的例子中,我假设你正在使用maven。我很确定蚂蚁可以做类似的事情,但我不知道。
我自己可能会使用Groovy脚本而不是shell脚本来实现上述结果。
答案 1 :(得分:2)
Findbugs有一些ant任务可以针对不同的findbugs结果做差异,只看到增量,所以只报告新的bug,参见