Complexity



  • folgende Aussage:

    The McCabe Cyclomatic Complexity is a count of the number of decision branches within a function. Complex routines are hard to maintain and test effectively. Recommended maximum in this standard is 10.
    This rule will highlight complex code which should be reviewed.

    diesen Wert wird immer überschreitet. Wenn ich ein Enum habe mit 40 Einträgen, dann mache ich etwa

    switch(decision):
    {
      case X:
      case Y:
      ...
    }
    

    ich kann doch nicht den Auswahl zerlegen!



  • Solche Regeln braucht kein Mensch, ab in die Tonne damit.



  • Zumal die Anzahl der Cases auch nicht unbedingt ein Indiz für Komplexität sein muss. 40 Cases, die vom Wert her keine Lücken aufweisen, kann ein optimierender Compiler locker mit einem Sprung realisieren. Das kann nicht nur weniger Code sein, sondern bedeutet auch mehr Geschwindigkeit. Da können 10 Cases, die nicht so "passend" sind, durchaus komplexer werden. Naja, zumindest von der Übersichtlichkeit sollte man darauf achten, dass die switches nicht zu komplex werden. 🙂



  • Kanns sein, dass damit eher soetwas gemeint ist:

    if(A)
    {
        if(B)
        {
            if(C)
            {
                 if(D)
                 {
                     ...
                 }
            }
        }
    }
    

    Wenn mal kein && bzw. || reicht.

    MfG SideWinder


Anmelden zum Antworten