パラメータの前に何千ものfinalキーワードをコードに散らかす代わりに、FindBugsを使用してコードを強制しようとしています。
これを行うことは不可能のようですが、方法があるはずですよね?
ありがとう
パラメータの前に何千ものfinalキーワードをコードに散らかす代わりに、FindBugsを使用してコードを強制しようとしています。
これを行うことは不可能のようですが、方法があるはずですよね?
ありがとう
Findbugsには1つの関連するバグパターンがあります:
IP:メソッドへの入力時にパラメーターが無効になっていますが、上書きされています(IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN)
このパラメーターの初期値は無視され、パラメーターはここで上書きされます。これは、パラメータへの書き込みが呼び出し元に返されるという誤った考えを示していることがよくあります。
ただし、どこかでパラメータを読み取った後でパラメータを上書きする場合は、これでは検出されないと思います。
一方、PMDには、まさにあなたが探しているものであるルールがあるようです。
PreventReassigningParameters:パラメータへの値の再割り当ては疑わしい方法です。代わりに一時ローカル変数を使用してください。
それでもうまくいかない場合は、PMDの担当者が、無料と商用の両方で調べることができる、さらに多くの静的チェッカーのリストを用意しています。