JavaScript、PL / SQL、および他のいくつかの言語では、関数をネストできます。つまり、別の関数内で宣言できます。これは、大きな機能を小さな部分に分割するために使用できますが、それらの部分を大きな機能のコンテキスト内に保持します。
function doTooMuch() {
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
// doTooMuch body
doSomething();
doSomethingElse();
doYetAnotherThing();
}
場合によっては、これらの小さい関数が大きい関数のローカル変数を使用しない場合、これはすべての関数がネストされていないバージョンに簡単に変更できます。
function doSomething () {
...
}
function doSomethingElse() {
...
}
function doYetAnotherThing() {
...
}
function doTooMuch() {
doSomething();
doSomethingElse();
doYetAnotherThing();
}
これらのネストされた関数を他の場所で使用しないと仮定すると、それらを大きな関数のコンテキスト内に保持する方が良いでしょうか、それが悪いのですか?