来自 PMD 的数据流异常分析警告
2022-09-01 23:24:39
我正在使用Eclipse和,并得到很多这样的违规行为:PMD Plug-in (4.0.0.v20130510-1000)
Found 'DD'-anomaly for variable 'freq' (lines '187'-'189').
Found 'DU'-anomaly for variable 'freq' (lines '189'-'333').
在这个SO答案中,它说这些异常与分配从不读取的值有关。但是在这种情况下,我得到了违规行为:
// here I get a DD anomaly
double freq = 0;
try {
// here I get a DU anomaly
freq = Double.parseDouble(getFrequencyTextField().getText());
} catch (final NumberFormatException e) {
Log.e(e.getMessage());
}
if (freq < 10E6) doSomething();
如果我删除初始化并在块中添加一行,DD 异常会消失,但我在两个分配上都得到了 DU 异常。freq = 0;
catch
现在我的问题是:我应该如何处理这个问题?PMD的首选解决方案是什么?这个规则到底试图阻止什么(即为什么它是不好的做法)?