I am using Eclipse with the PMD Plug-in (4.0.0.v20130510-1000)
and get a lot of those violations:
Found 'DD'-anomaly for variable 'freq' (lines '187'-'189').
Found 'DU'-anomaly for variable 'freq' (lines '189'-'333').
In this SO answer, it says that those anomalies are related to assigning values that are never read. But I get the violations for instance in this case:
// 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();
If I remove the initialization and add a freq = 0;
line in the catch
block, the DD anomaly vanishes, but I get a DU anomaly on both the assignments.
Now my question: How am I supposed to deal with that? What would be the preferred solution of PMD? And what exactly is this rule trying to prevent (i.e. why is it bad practice)?