Frage

Als Alternative zum Abfall meines Codes mit Tausenden von endgültigen Schlüsselwörtern vor meinen Parametern versuche ich, ihn mit Findbugs durchzusetzen.

Es scheint nicht möglich, dies zu tun, aber es sollte einen Weg geben, sollte nicht da?

Vielen Dank

War es hilfreich?

Lösung

Findbugs hat einen verwandten Fehler Muster:

IP: Ein Parameter ist beim Eintritt zu einer Methode tot, aber überschrieben (ip_parameter_is_dead_but_overwritten)

Der Anfangswert dieses Parameters wird ignoriert und der Parameter wird hier überschrieben. Dies weist häufig auf eine falsche Überzeugung hin, dass das Schreiben in den Parameter an den Anrufer zurückgegeben wird.

Ich glaube jedoch nicht, dass dies Fälle erfassen wird, in denen Sie den Param nach dem Lesen des Params irgendwo überschreiben.

Andererseits sieht es aus wie aus PMD hat a Regel Genau das suchen Sie:

METREASSIGNINGPARAMETERS: Die Neuzuweisung von Werten zu Parametern ist eine fragwürdige Praxis. Verwenden Sie stattdessen eine temporäre lokale Variable.

Und wenn das für Sie nicht funktioniert, haben die PMD -Leute eine aufführen Von vielen weiteren statischen Checker, sowohl kostenlos als auch kommerziell, die Sie untersuchen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top