디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

if - else 가 점점 늘어나는 이유

아놔콘다갤로그로 이동합니다. 2012.03.09 15:08:32
조회 127 추천 0 댓글 1

가장 대표적인 예를 꼽자면 시스템의 <상태 관리>가 제대로 안되는 경우에 if else if 가 덕지덕지 붙는 경우가 많음.


예를 들어서 파일 다운로드 같은 경우에 일단 tcp 접속을 시도하고 기다리고 접속이 되고 http 헤더를 읽고 데이터를 수신하고....

이런 일련의 과정들이 사실은 전부 상태가 계속해서 변하는거임.

중간에 사용자가 일시 중지 버튼을 눌렀어, 그래서 다운받는거 중단했는데 서버에서 연결을 끊어버렸어. 그래서 다시 다운을 받아야 하네?

이거 어케함?

이미 받아놓은거 있는데 그냥 버림? 아까운데? 혹시 서버에서 이어받기를 지원하는지 봐야하고 지원 안해주면 별 수 없이 다시 다운로드, 이어받기 지원하면 그 지점부터 보내달라고 요청 날리고...

이게 전부다 상태 전이의 반복임. 파일 하나 받을때까지 계속해서 변함.


상태 관리를 제대로 안하면 어쩔 수 없이 if else if 벌리고 전혀 예상치 못한 상태를 발견 하면 else if 안에다가 다시 if 만들어서 새로 발견된 상태를 처리할 로직을 우겨넣어야 함..

근데 사람이 신이 아닌 이상 이걸 막을 수는 없음. 전혀 예상치 못한 상태가 시스템 개발 외적인 이유로 추가되기도 함.

하지만 이걸 빨리 감지하는게 실력이 아닐까 함..

이거 이대로 두면 코드가 점점 복잡해지겠구나.. 싶어지면 시스템 상태를 추상화해서 최대한 모듈 내에서 이리저리 분기가 갈라지는걸 막아야함.

그래야 테스트하기도 편하고 버그 나올때 고치기도 쉬움.

if else if 가 하나도 없다는건 말이 안되지만 디버그 하는데 여기저기 클래스가 클래스를 호출하고 모듈이 모듈을 호출할때마다 계속해서 if else if 에 걸리면 그거는 문제가 있는거임.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
306574 성격 개싸가지인데 코딩실력있고, 성격진짜 좋고 완전회사 분위기조인데... [5] 신입(121.129) 12.03.09 133 0
306572 VC 6.0 강요하는 교수 [5] ㅂㅈㄷ(14.45) 12.03.09 132 0
306571 형들 문과로 교차지원 해서 [6] (114.203) 12.03.09 65 0
306570 가장큰 무부호 32비트 2진수는 무엇인가 이게 먼말이에요? [5] ㅇㅇ(58.127) 12.03.09 183 0
306569 형들 나에게 힘을줘.. 다른일하다가 30대 초반에 1년빡세게 학원다니고 [1] ㅇㅇ(1.253) 12.03.09 133 0
306568 연세대컴공의 패기에 지린경험 [1] ap(1.253) 12.03.09 877 1
306567 판다보드 파는데 아는분 있음? [4] 마타버터갤로그로 이동합니다. 12.03.09 60 0
306566 6비트 2의보수로 -32를 어떻게 씀? [8] 1231(211.226) 12.03.09 134 0
306564 이거 뭐가 잘못된다는거에요? [12] -(122.34) 12.03.09 111 0
306562 씨언어 파일질문점 [3] 중간점검갤로그로 이동합니다. 12.03.09 62 0
306560 지식인 같은데서 애들이 프로그래머 되고 싶다고 하면.... 아놔콘다갤로그로 이동합니다. 12.03.09 130 0
306559 프밍 학교서 배운게 다인 11학번이 테트리스 이정도로 만들면 잘하는거? [15] 응잉앙앵(175.201) 12.03.09 197 0
306558 MVC패턴 복습 중 문득 궁금해진게 하나 있는데요ㅋ! 알려주세옂!! [1] 파워트윈테일갤로그로 이동합니다. 12.03.09 55 0
306557 옆집 부부싸움 개돋네 ㅋㅋㅋ [5] ㅇㅇ(118.36) 12.03.09 105 0
306555 프로그래밍의 재능에 대해서 비교 예를 들어주지. [1] 바보플머(218.155) 12.03.09 230 0
306554 아 망했다 우리학교 내 학번부터 공학인증이 졸업필수조건이네 ㅡㅡ [8] (59.16) 12.03.09 145 0
306552 DLL 인젝션해서 각종 보안 무력화시키는거 그냥 법적으로 강력하게 처벌 ㅇㅇ(112.159) 12.03.09 92 0
306551 뻘글이지만 이거 개웃김 ㅋㅋ [2] ㅇㅇ(118.36) 12.03.09 106 0
306550 프로그래밍에 재능이란게 정말 있는걸까 [4] ㅇㅇ(61.103) 12.03.09 145 0
306548 100만 팩토리얼까지 구하는거 시간복잡도 상수 시간복잡도로 만들엇다 [3] ㅋㅋㅋ(211.117) 12.03.09 348 0
306547 오늘 집중안되서 디씨만 했네 [2] 알렉산더갤로그로 이동합니다. 12.03.09 60 0
306545 님들 폰트 뭐 씀? [7] 아놔콘다갤로그로 이동합니다. 12.03.09 165 0
306544 알고리즘이랑 OS랑 디는 교수갈키는거 말고라도 더 제대로 공부해야되지 ? [2] ㅇㅇ(211.117) 12.03.09 90 0
306543 게임 데이터는 어떻게 저장하는지 궁금함 [13] 야요이갤로그로 이동합니다. 12.03.09 161 0
306542 프로그래밍에 초보자가 보면 도움이 되는 책 추천좀 [4] ㅇ힝허잏ㅇ(1.230) 12.03.09 67 0
306541 제 코딩 스타일이 이상한건지 [13] 회전매니아갤로그로 이동합니다. 12.03.09 231 0
306540 락킹 I/O 인가 ?? 뭐지 못알아듣겟당 [4] ㅁㅇㄴㄹ(211.117) 12.03.09 59 0
306539 아 밑에 IF ELSE 글 보고 존내 찔리네 ㅅㅂ [2] 야요이갤로그로 이동합니다. 12.03.09 58 0
306538 날짜를 연월일로 나눠서 저장해두면 피곤해지는 사례 [5] 나라퐁(211.104) 12.03.09 93 0
306537 CONNECT BY 쓰면 속도 느려짐 ?? 야요이갤로그로 이동합니다. 12.03.09 36 0
306536 수습 3개월 이라는 타이틀은 좋은건지 나쁜건지는 모르겠다 [8] SFCFS갤로그로 이동합니다. 12.03.09 120 0
306535 게임 프로그래밍 실무 관련 질문 [7] 야요이갤로그로 이동합니다. 12.03.09 86 0
306533 군대에서는 말 안듣고 병신같이 행동하는 후임 어떻게 조지냐 [2] 나라퐁(211.104) 12.03.09 91 0
306532 디비의 문제는 저거뿐만이 아니야.. [6] SFCFS갤로그로 이동합니다. 12.03.09 102 0
306531 난 말이야 내 후임이 제발 좀 일찍 출근했으면 좋겠다 [5] 나라퐁(211.104) 12.03.09 91 0
306530 os 넘어렵다 ㅁㅇㄴㄹ(211.117) 12.03.09 34 0
306529 아이폰 개발하는 횽 있으메? [4] 공돌이대장갤로그로 이동합니다. 12.03.09 74 0
306528 디비 질문한거 자세히 풀으면 [18] SFCFS갤로그로 이동합니다. 12.03.09 134 0
306526 데이터베이스하는 사람있어??? [8] SFCFS갤로그로 이동합니다. 12.03.09 130 0
306523 PHP 배우려는데 사전지식이나 연계해서 하면 좋을만 한거 있어? 형들? [1] Lowforce갤로그로 이동합니다. 12.03.09 54 0
306521 아아 갑자기 땡긴다 조공 짤을 풀겠다 뒤는 알아서 조심 서현빠돌이갤로그로 이동합니다. 12.03.09 107 0
306519 인터넷창을 여러개 띄워놓았을 때 빨리 전환하는 법 아는 횽 있어?ㅜ [3] 흰색까마귀(118.33) 12.03.09 63 0
306518 이야 너무 야햇! ㅇㅇㅎ(117.111) 12.03.09 57 0
306517 방통위에 천리안 신고했음. iljeomobolt갤로그로 이동합니다. 12.03.09 75 0
306516 프갤횽들은 군대 어떻게갓음? [9] ㅇㅇ(121.66) 12.03.09 69 0
306514 시스템프로그래밍책추천점 중간점검갤로그로 이동합니다. 12.03.09 82 0
306512 조공을 올리옵니다. [1] 맙이갤로그로 이동합니다. 12.03.09 109 0
306511 GPIO에 대해서 질문좀 할께요 [1] (218.209) 12.03.09 57 0
306510 facebook 너무 짜증나 ㅠ.ㅠ [4] iljeomobolt갤로그로 이동합니다. 12.03.09 90 0
if - else 가 점점 늘어나는 이유 [1] 아놔콘다갤로그로 이동합니다. 12.03.09 127 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2