Ti consiglio vivamente di leggere "Codice pulito" di Robert Martin, un estratto di cui si parla delle strutture nidificate:
Blocks and Indenting
...the blocks within if
statements, else
statements, while
statements, and so on should be one line long. Probably that line
should be a function call. Not only does this keep the enclosing
function small, but it also adds documentary value because the
function called within the block can have a nicely descriptive name.
This also implies that functions should not be large enough to hold
nested structures. Therefore, the indent level of a function
should not be greater than one or two. This, of course, makes the
functions easier to read and understand.
Quindi la raccomandazione di Bob Martin è che il reparto di struttura nidificata dovrebbe essere al massimo .
Sono d'accordo e, anche se non sempre lo rispondo, almeno ci provo.
Inoltre, secondo lo strumento di analisi statica della configurazione predefinita di PDM, la complessità ciclomatica di una funzione non deve superare 11, che può essere facilmente raggiunta se si supera un valore di due.