En JavaScript, PL / SQL y algunos otros lenguajes, las funciones pueden anidarse, es decir, declararse dentro de otra función. Esto podría usarse para dividir una función grande en piezas más pequeñas, pero mantener esas piezas dentro del contexto de la función más grande.
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
En algunos casos, cuando esas funciones más pequeñas no usan variables locales de la función más grande, esto podría cambiar fácilmente a una versión en la que todas las funciones no estén asignadas.
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
Suponiendo que esas funciones anidadas no se usen en ningún otro lugar, ¿es mejor mantenerlas dentro del contexto de la función grande o es malo porque esto es exactamente lo que hace que la función grande sea, bueno, grande?