如何使用FindBugs强制分配方法的参数?

All*_*nde 5 java static-analysis final findbugs

作为在我的参数前面使用数千个最终关键字乱丢我的代码的替代方法,我试图使用FindBugs强制执行它.

似乎不可能这样做,但应该有办法,不应该吗?

谢谢

Pet*_*ore 3

Findbugs 有一种相关的错误模式

IP:参数在进入方法时已死亡但被覆盖(IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN)

该参数的初始值将被忽略,并且此处的参数将被覆盖。这通常表明错误地认为对参数的写入将被传送回调用者。

但是,我认为这不会捕获在某处读取参数后覆盖参数的实例。

另一方面,看起来PMD确实有一条正是您正在寻找的规则:

避免重新分配参数:为参数重新分配值是一种值得怀疑的做法。请改用临时局部变量。

如果这对您不起作用,PMD 人员有更多静态检查器的列表,您可以查看免费的和商业的。