5

As an alternative to littering my code with thousands of final keywords in front of my parameters, I'm trying to enforce it using FindBugs.

It doesn't seem possible to do this, but there should be a way, shouldn't there?

Thanks

4

1 回答 1

3

Findbugs 有一种相关的错误模式

IP:参数在进入方法时失效但被覆盖(IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN)

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

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

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

避免重新分配参数:将值重新分配给参数是一种有问题的做法。请改用临时局部变量。

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

于 2009-07-28T17:53:19.777 回答