En JavaScript, PL / SQL et certains autres langages, les fonctions peuvent être imbriquées, c'est-à-dire déclarées dans une autre fonction. Cela pourrait être utilisé pour diviser une grande fonction en morceaux plus petits, mais garder ces morceaux dans le contexte de la fonction plus grande.
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
Dans certains cas, lorsque ces fonctions plus petites n'utilisent pas de variables locales de la fonction plus grande, cela pourrait facilement être changé en une version où toutes les fonctions ne sont pas imbriquées.
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
En supposant que ces fonctions imbriquées ne doivent pas être utilisées ailleurs, est-il préférable de les conserver dans le contexte de la grande fonction ou est-ce mauvais parce que c'est exactement ce qui rend la grande fonction, eh bien, grande?