Code complexity

Code complexity

It is the cyclomatic complexity, also known as McCabe metric. Whenever the control flow of a function splits, the complexity counter gets incremented by one. Each function has a minimum complexity of 1.

Or. A measurement of the intricacy of a program module based on the number of repetitive cycles or loops that are made in the program logic. It is used as a general measure of complexity for software quality control as well as to determine the number of testing procedures.

Why care?

  • How many outcomes for a given piece of code?
  • Outcomes create behaviors. Each is a possible regression.

How is it calculated?

public void process(Car myCar){          // +1
    if(myCar.isNotMine()){               // +1
         return;                         // +1
    }
    car.paint("red");
    car.changeWheel();
    while(car.hasGazol() && car.getDriver().isNotStressed()){   // +2
         car.drive();
    }
    return;
}

How to track this on Sonar?

Each project has a complexity analysis tool. ie: kettle-core.

Learn more

  • Â