2016-05-13 5 views
0

Ich habe PMD zu meinem Eclipse-Arbeitsbereich hinzugefügt und arbeite daran, den Code zu bereinigen.Benötigt Aufklärung über NPath-Komplexität

Meine komplexeste Methode sagt, es hat eine NPath-Komplexität von 804, ok, kein Problem, es muss wahrscheinlich refactoring.

Aber dann hab ich etwas, das ziemlich einfach aussehen, die eine nPath Komplexität von 3125 hat, die gerade scheint falsch:

public void toUpperParams() { 
    valueParam1 = StringUtils.isNotEmpty(valueParam1) ? valueParam1.toUpperCase() : null; 
    valueParam2 = StringUtils.isNotEmpty(valueParam2) ? valueParam2.toUpperCase() : null; 
    valueParam3 = StringUtils.isNotEmpty(valueParam3) ? valueParam3.toUpperCase() : null; 
    valueParam4 = StringUtils.isNotEmpty(valueParam4) ? valueParam4.toUpperCase() : null; 
    valueParam5 = StringUtils.isNotEmpty(valueParam5) ? valueParam5.toUpperCase() : null; 
} 

bin ich etwas fehlt?

Antwort

1

Es scheint, dass ternär den NPath-Faktor erhöht. Im Folgenden zwei Erklärungen ich finden konnte:

Question on Guthub

Question on stackoverflow

+0

Vielen Dank. Immer noch seltsam klingen, wenn jemand weiß, warum diese Entscheidung getroffen wurde, bin ich gespannt darauf, es zu hören. – TheBakker

0

Ich glaube nicht, dass Sie nichts verpassen. Nach meiner Berechnung sollte NPath 10 basierend auf der Definition sein, die in dem folgenden Artikel gegeben wurde: NPath complexity

+0

Ich habe es mit SourceMeter ausprobiert, und es gab 11 für NPath Komplexität für diese Methode. – Csuki