Wenn ich mich mit komplizierten Algorithmen in Sprachen beschäftige, die verschachtelte Funktionen (wie Python und D) unterstützen, schreibe ich oft riesige Funktionen (weil der Algorithmus kompliziert ist), aber mildere dies, indem ich verschachtelte Funktionen verwende, um den komplizierten Code zu strukturieren. Werden riesige Funktionen (über 100 Zeilen) immer noch als böse angesehen, selbst wenn sie intern durch die Verwendung verschachtelter Funktionen gut strukturiert sind?
Bearbeiten: Für diejenigen unter Ihnen, die nicht mit Python oder D vertraut sind, ermöglichen verschachtelte Funktionen in diesen Sprachen auch den Zugriff auf den äußeren Funktionsumfang. In D ermöglicht dieser Zugriff die Mutation von Variablen im äußeren Bereich. In Python ist nur Lesen möglich. In D können Sie den Zugriff auf den äußeren Bereich in einer verschachtelten Funktion explizit deaktivieren, indem Sie diese deklarieren static
.