이러한 코드에서 goto문을 쓰는게 나을까요?
글쓴이: gurumong / 작성시간: 금, 2009/12/18 - 3:23오후
기존 데이터에 포함되지 않는 어떤 유니크한 값을 만들어야하는데요
안쪽 첫번째 for문에서 유니크값을 포함하는 값이 존재하면
외각 while문을 새로 돌아 새로운 유니크값을 만들어야하는데
break는 안쪽 for문만을 빠져나갈뿐이잖아요
그래서 계속해서 두번째 for문을 돌게 될텐데
두번째 for문 이전에 if문을 추가해서 isMacth==true 이면 break 문을 또 한번 실행하도록 하려니
코드가 이쁜거 같지 않은데요
이럴때 goto문을 쓰는게 좋을까요?
do { value = ?;//mackValue for() { //isMacth? } for() { //isMacth? } }while (isMacth != true);
Forums:
충분히 흐름을
충분히 흐름을 따라가기 쉽다면 상관없을듯합니다.
코드 읽으면서
코드 읽으면서 머리가 비비 꼬일 정도가 아니면 괜찮아요. goto 안쓴다고 읽기 좋은 코드가 되는 것도 아닌걸요.
재귀적, 중지 연산
1. 재귀적 방법
2. 중지연산 이용하는 방법
..
c에서 forward goto는 그리 나쁘지 않은 선택입니다.(backward goto는 지양하시는 게 좋을듯 하고요)
code complete에도 나오는 내용입니다만... if statement를 모두 넣거나, goto를 쓰거나, return을 잘 쓰거나, if를 지나치게 중첩하거나 정도의 방법이 있었던거 같네요. (주로 자원의 회수와 관련되어 있지만요)
그런데
그런데 앞·뒤(forward/backward) 방향이 헷갈리는데
소스 코드 위로 가는 게 forward인가요 backward인가요?
에..그게 말이죠.
저는 소스 코드 상에서 위로 가는 걸 backward라고 생각하고 있습니다.(플로우 상 뒤쪽으로 가는 거죠)
댓글 달기