私は Eclipse を使用してPMD Plug-in (4.0.0.v20130510-1000)
おり、これらの違反がたくさん発生します。
Found 'DD'-anomaly for variable 'freq' (lines '187'-'189').
Found 'DU'-anomaly for variable 'freq' (lines '189'-'333').
このSO 回答では、これらの異常は読み取られない値の割り当てに関連していると述べています。しかし、この場合、たとえば違反が発生します。
// here I get a DD anomaly
double freq = 0;
try {
// here I get a DU anomaly
freq = Double.parseDouble(getFrequencyTextField().getText());
} catch (final NumberFormatException e) {
Log.e(e.getMessage());
}
if (freq < 10E6) doSomething();
freq = 0;
初期化を削除してブロックに行を追加するとcatch
、DD 異常は消えますが、両方の割り当てで DU 異常が発生します。
ここで私の質問: どのように対処すればよいでしょうか? PMD の好ましい解決策は何ですか? そして、このルールは正確に何を防止しようとしているのでしょうか (つまり、なぜそれが悪い慣行なのか)?