반응형
GOTO문에 대해서는 다양한 의견이 있습니다.
간혹 개발자 커뮤니티 등의 사이트에서 GOTO문의 사용에 대해 격렬한 토론이 이루어지기도 합니다.
GOTO문을 적절히 사용하면 아무런 문제가 없다는 사람들과 GOTO문 자체를 쓰는 것을 극도로 혐오하는 사람들 간의 논쟁은 마치 물과 기름을 보는 듯 타협의 여지가 없어 보일 때가 많습니다.
하지만 중요한 점은 GOTO문으로 인해 야기되는 문제들이 정확하게 어떤 문제들인지 파악하고 효율적으로 사용할 수 있는 방법은 없는지 여러분들이 직접 고민하고 생각해볼 필요가 있다는 점입니다.
즉, 여러분이 GOTO문을 사용할지 안할지를 결정하는데 있어서 단순히 ‘누군가가 쓰지 말라고 해서’ 라는 이유로 사용하지 않거나, ‘누가 뭐라고 하던 나는 편하니까 그냥 쓰자’ 라는 생각으로 사용해서는 안된다는 말입니다.
GOTO문을 잘못 사용하면 코드의 가독성이 떨어지고 예상치 못한 논리적인 오류를 발생시킬 가능성이 있습니다. 하지만 가독성과 최적화를 모두 고려해도 GOTO문을 사용하는 편이 효율적인 상황에서는 사용하지 않을 이유가 없습니다.
(어짜피 컴파일러 내부에서는 for, while, switch 구문들이 GOTO 구문으로 변경됩니다)
선택은 여러분의 몫입니다.
유명한 개발자나 수업시간에 교수님께 들은 얘기를 아무 생각 없이 받아들이고 그대로 따라하는 것이 아니라
자신만의 생각과 철학을 갖고 판단하시길 바랍니다.
- Peter의 우아한 프로그래밍
반응형