Я использую 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? И что именно это правило пытается предотвратить (т.е. Почему это плохая практика)?