JavaScript, PL / SQL ve diğer bazı dillerde, işlevler iç içe yerleştirilebilir, yani başka bir işlev içinde bildirilebilir. Bu, büyük bir işlevi daha küçük parçalara ayırmak için kullanılabilir, ancak bu parçaları daha büyük işlev bağlamında tutmak.
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
Bazı durumlarda, bu daha küçük işlevler daha büyük işlevin yerel değişkenlerini kullanmadığında, bu kolayca tüm işlevlerin dürüst olmadığı bir sürüme dönüştürülebilir.
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
Bu iç içe geçmiş işlevlerin başka hiçbir yerde kullanılmayacağını varsayarsak, onları büyük işlev bağlamında tutmak daha mı iyidir yoksa kötü mü, çünkü büyük işlevi tam olarak yapan şey budur, iyi, büyük mü?