Quando ho a che fare con algoritmi complicati in linguaggi con supporto per funzioni nidificate (come Python e D) scrivo spesso enormi funzioni (perché l'algoritmo è complicato) ma mitigalo usando funzioni nidificate per strutturare il codice complicato. Le funzioni enormi (più di 100 linee) sono ancora considerate malvagie anche se sono ben strutturate internamente tramite l'uso di funzioni nidificate?
Modifica: per coloro che non conoscono Python o D, le funzioni nidificate in queste lingue consentono anche l'accesso all'ambito delle funzioni esterne. In D questo accesso consente la mutazione delle variabili nell'ambito esterno. In Python consente solo la lettura. In D è possibile disabilitare esplicitamente l'accesso all'ambito esterno in una funzione nidificata dichiarandolo static
.