This is not the control flow AFTER the return, but the fact that the control flow is divided between two points of exit from the method.
Consider these two methods:
public boolean isAdult(int age) { boolean overEighteen = false; if (i > 18) { overEighteen = true; } return overEighteen; }
and
public boolean isAdultComplex(int age) { boolean overEighteen = false;
If the calculation of cyclic complexity did not add one for an early return in the isAdultComplex method, these two methods would have identical cyclic complexity. But the second is certainly more complex, having two exit points.
These problems often seem trivial in such a short method, but imagine an early return in the 150-line method. It becomes much more difficult to mentally follow.
source share