Goto 편집하기
최신판 | 당신의 편집 | ||
31번째 줄: | 31번째 줄: | ||
{ | { | ||
int i = 0; | int i = 0; | ||
+ | |||
WRONGINPUT: | WRONGINPUT: | ||
cout << "값을 입력하세요(1~3)(무한루프) :: "; | cout << "값을 입력하세요(1~3)(무한루프) :: "; | ||
37번째 줄: | 38번째 줄: | ||
goto WRONGINPUT; | goto WRONGINPUT; | ||
} | } | ||
− | 이렇듯 충분히 가독성을 해치지 않는 선을 지키면서도 goto 문을 사용할 수 있다. 프로그래밍을 하면서 중요한 점은 바로 이것이다. 프로그래밍에 필요한 모든 것을 최대한 활용하되 과하게 사용하지 말고 적절한 위치에 적절하게 사용하라는 것이다. 그것만으로도 코드는 충분히 깔끔해지고 작업 효율성이 상승하게 될 것이다.<ref | + | 이렇듯 충분히 가독성을 해치지 않는 선을 지키면서도 goto 문을 사용할 수 있다. 프로그래밍을 하면서 중요한 점은 바로 이것이다. 프로그래밍에 필요한 모든 것을 최대한 활용하되 과하게 사용하지 말고 적절한 위치에 적절하게 사용하라는 것이다. 그것만으로도 코드는 충분히 깔끔해지고 작업 효율성이 상승하게 될 것이다.<ref>wergia, 〈[https://wergia.tistory.com/52 [프로그래밍] 악마의 문법, goto :: 베르의 프로그래밍 노트]〉, 《티스토리》, 2017-06-01</ref> |
+ | |||
== 단점 == | == 단점 == | ||
65번째 줄: | 67번째 줄: | ||
return; | return; | ||
} | } | ||
− | 위의 예시처럼 코드 이곳저곳을 뛰어넘게 되는 goto 문이 많을 경우나 goto I100; 부분처럼 조건에 맞지 않는 상황에서 조건문 안으로 강제 진입하게 만드는 goto 문이 있을 경우는 심각한 문제가 된다. 다른 작업자가 작업하게 되거나 작성자 자신이 재작업할 때, 코드의 흐름을 읽어내기가 어려워지고 조건문과 코드를 신뢰할 수 없게 될 것이다.<ref | + | 위의 예시처럼 코드 이곳저곳을 뛰어넘게 되는 goto 문이 많을 경우나 goto I100; 부분처럼 조건에 맞지 않는 상황에서 조건문 안으로 강제 진입하게 만드는 goto 문이 있을 경우는 심각한 문제가 된다. 다른 작업자가 작업하게 되거나 작성자 자신이 재작업할 때, 코드의 흐름을 읽어내기가 어려워지고 조건문과 코드를 신뢰할 수 없게 될 것이다.<ref>wergia, 〈[https://wergia.tistory.com/52 프로그래밍 악마의 문법, goto :: 베르의 프로그래밍 노트]〉, 《티스토리》, 2017-06-01</ref> |
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
− | |||
− | |||
== 같이 보기 == | == 같이 보기 == |