중첩 루프 탈출은 goto보다 의도 보존이 중요하다
여러 루프를 한 번에 벗어나야 할 때도 새 코드에서는 함수 분리와 return을 먼저 고려합니다.
goto
도착 레이블과 건너뛴 구간을 따로 추적해야 합니다.
플래그
작은 수정에는 가능하지만 종료 신호가 여러 줄에 퍼집니다.
함수 + return
탐색 성공과 종료를 같은 단위로 표현합니다.
| 상황 | 권장 대안 | 이유 |
|---|---|---|
| 가장 안쪽 루프만 종료 | break | 현재 반복문만 빠져나가면 충분합니다. |
| 여러 루프를 한 번에 종료 | 함수 분리 + return | 탐색 목표와 종료 조건이 한 함수 안에 남습니다. |
| 레거시 goto 해석 | 출발점, 도착점, 정리 코드 표시 | 바꿀 수 없다면 추적 지점을 명시해야 합니다. |