Quando si affrontano algoritmi complicati in linguaggi con supporto per funzioni annidate (come Python e D) spesso scrivo funzioni enormi (perché l'algoritmo è complicato) ma lo mitigo usando funzioni nidificate per strutturare il codice complicato. Le enormi funzioni (100+ linee) sono ancora considerate malvagie anche se sono ben strutturate internamente tramite l'uso di funzioni annidate?
Modifica: per coloro che non hanno familiarità con Python o D, le funzioni nidificate in questi linguaggi consentono anche l'accesso all'ambito della funzione esterna. In D questo accesso consente la mutazione di variabili nell'ambito esterno. In Python consente solo la lettura. In D puoi disabilitare esplicitamente l'accesso all'ambito esterno in una funzione annidata dichiarandolo static
.