2012-12-09 2 views
3

가능한 중복 :
Is there a goto statement in java?goto가 Java 및 다른 고급 프로그래밍 언어에서 악의적으로 간주되는 이유는 무엇입니까?

왜 자바 고토 고려 된 악이며, 왜 높은 수준의 프로그래밍 언어에서 사용하기에 적합한가요?

+3

참조 이미지 제공, 아마도, http://stackoverflow.com/questions/2545103/is-there-a-goto-statement-in-java –

+0

근본적으로 GOTO에는 아무런 문제가 없습니다. 우리의 Java 컴파일러 (및 다른 모든 컴파일러 ...)가 생성 한 코드는 조건부 및 조건부가 아닌 점프로 가득합니다. 그러나 응용 프로그램 코더는 컴파일러보다 규율이 떨어지는 경향이 있습니다. 디버그하고 이해하기 어려운 코드를 쉽게 만들 수 있습니다. –

+0

@TonyEnnis : "근본적으로 ... 잘못된 것은 아닙니다."나는 다르다 : 우리는 소스 코드에 대해 이야기하고있다. _Source Code_는 CPU에만 쓰여진 것이 아닙니다. 코드를 관리하고 이해해야하는 다른 사람에게 더 많이 쓰여집니다. 일반적인 경우에는 GOTO _is_ evil이 있습니다. _Compiled Code_는 CPU에 대해서만 쓰여집니다. 여기 GOTO는 악마가 아니며, CPU가 생각하는 방식입니다. 그러나이 수준에서 체계적인 프로그래밍의 추상화가 해결되었으므로 상위 추상화 수준의 "법률"이 적용되지 않습니다. –

답변

4

가장 단순한 대답은 특정 코드 행을 초과 한 후에 코드를 관리하기 어렵고 따르기 어렵게 만드는 것입니다.

더 좋은 이유

.. xkcd

xkcd