Le recomiendo encarecidamente que lea "Código limpio" de Robert Martin, un extracto del cual dice acerca de las estructuras anidadas:
Bloques y sangrado
... los bloques dentro de las declaraciones if
, las declaraciones else
, while
declaraciones, y así sucesivamente debe ser una línea larga. Probablemente esa linea
debe ser una llamada de función. Esto no solo mantiene el envolvente
Función pequeña, pero también agrega valor documental porque la
La función llamada dentro del bloque puede tener un nombre descriptivo.
Esto también implica que las funciones no deben ser lo suficientemente grandes como para mantenerlas
estructuras anidadas . Por lo tanto, el nivel de sangría de una función
No debe ser mayor que uno o dos . Esto, por supuesto, hace que el
Funciones más fáciles de leer y entender.
Por lo tanto, la recomendación de Bob Martin es que el departamento de estructura anidada debería ser dos como máximo .
Estoy de acuerdo con eso y, aunque no siempre lo cumplo, al menos lo intento.
Además, de acuerdo con la configuración predeterminada del PDM de la herramienta de análisis estático, la complejidad ciclomática de una función no debe exceder de 11, lo que se puede alcanzar fácilmente si se supera un departamento de dos.