gpt4 book ai didi

java - PMD中不可避免的DD异常

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:03 24 4
gpt4 key购买 nike

我遇到了一个特殊情况,我无法解决 PMD 中的 DD 异常。假设代码是:

BigDecimal amount = BigDecimal.ZERO;
for(int i=0;i<5;i++)
{
amount = amount.add(i);
}
return amount;

通过 PMD 运行此代码时,它会在声明金额时显示 DD 异常。但是,如果我删除初始化,我将得到一个异常。这种情况如何通过 PMD。有人吗?

最佳答案

来自"controversial rules"页面,DataflowAnomalyAnalysis 部分:

DD - Anomaly: A recently defined variable is redefined. This is ominous but don't have to be a bug.

在这种情况下,这绝对不是错误。我建议您抑制或忽略针对此特定案例的警告。 (在计算下一个值时使用原始值的事实表明,老实说,规则可以写得更好。)

了解规则的原因并选择您遵守哪些规则以及在哪里遵守是非常重要的。例如,我强烈不同意“只有一个导出点”的规则——很多时候有多个导出点会使方法更易于阅读。有选择性,如果规则通常没问题,但您已验证您的代码在这种特定情况下没问题,suppress the warning就在那个地方。

关于java - PMD中不可避免的DD异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15152365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com