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();
}
이러한 중첩 함수를 다른 곳에서 사용하지 않는다고 가정하면 큰 함수의 컨텍스트 내에서 유지하는 것이 더 좋습니까, 아니면 큰 함수를 정확하게 만드는 것이므로 나쁜 것입니까?