Function`s cyclomatic complexity (30) exceeds allowed maximum of 20

Hola que tal?
como andan?

Tengo la siguiente consulta:
En un CI tengo una funcion que al examinarla con el editor del Toba me muestra el siguiente error:

“Function`s cyclomatic complexity (30) exceeds allowed maximum of 20”

Si bien no afecta en la logica de la función, poero quisiera saber que significa y se se lo puede evitar…
Por lo que entiendo es como que la función es muy compleja o larga (en realidad lo es) y que exede una variable definida como tope de complejidad…

Bueno, eso es todo por ahora…
Desde ya muchas gracias…

Saludos!
MARTIN

Hola Sergio,

Mas alla del error puntual que entrega el editor, el cual esta relacionado al analisis que se hace para sugerir ciertas convenciones, el hecho de que tengas una complejidad semejante en una funcion es para prestarle atencion.

Basicamente lo que te estaria indicando este numero es que hay 30 caminos posibles dentro de tu funcion por los cuales se puede pasar dependiendo de los valores de los datos.
Si muy mal no recuerdo creo que el maximo recomendado suele andar alrededor de 7, la complejidad suele afectar tanto la legibilidad del codigo, su mantenimiento y depuracion… a mayor complejidad… menor es la calidad de todo lo que enumere antes.

Generalmente este tipo de funciones tienen una cantidad de condicionales abismal… ya sean anidados o no. Lo que podes hacer para evitar esta situacion es tratar de ir separando en distintos metodos porciones que tengan funcionalidad especifica para que el metodo principal sea mas legible y las distintas acciones vayan quedando mas encapsuladas.

Saludos