In JavaScript, PL / SQL e alcune altre lingue, le funzioni possono essere nidificate, ovvero dichiarate all'interno di un'altra funzione. Questo potrebbe essere usato per spezzare una grande funzione in pezzi più piccoli, ma mantenerli nel contesto della funzione più grande.
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
In alcuni casi, quando quelle funzioni più piccole non usano le variabili locali della funzione più grande, ciò potrebbe facilmente passare a una versione in cui tutte le funzioni non sono state verificate.
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
Supponendo che quelle funzioni nidificate non debbano essere utilizzate altrove, è meglio tenerle nel contesto della funzione grande o è un male perché questo è esattamente ciò che rende la funzione grande, beh, grande?