이 포스트는 지난 포스트인 http://ikpil.com/1070 에 이름을 붙인것에 불과하다. 이전 포스트의 요지는 "if가 중첩되면 중첩 될 수록 코드 수정이 어려워지고, 가독성이 떨어진다" 였다.
이번 포스트는 이러한 if 중첩을 "if 지옥 또는 if Hell" 이라고 나는 이름을 붙여, 표현하겠다는 것이다.
이렇게 불리는 이유는 다음과 같다.
첫째, 개미지옥에 걸린 개미의 모습과 인간의 집중력이 매우 흡사하다.중첩이 되면 될 수록, 집중력이 점점 흐트려 진다. 왜냐하면, 안쪽으로 깊숙히 들어 갈수록 기억해야 할 상태가 많아 지기 때문이다.. 결국 몇단에 걸친 if 안이라면, 아무리 기억력이 좋아도, 결국 위쪽을 다시 살펴 보고, 다시 코드 리뷰를 해야만 한다.
이것 말고도로 개미처럼 집중력도 홀리게 되는데, 현재 커서 위치가 if의 { } 인지 for의 { } 인지 while { } 인지 ... 도무지 알 수가 없다.
그러면 개미가 개미지옥에 걸린 모습과 if 지옥을 상상하며, 다음 동영상을 비교하며 감상해 보자.
여기서 잠깐, 개미지옥 이란?
개미귀신 즉, 명주잠자리과 유층을 뜻하는데, 영어로는 Antlion 이라고 불린다. 작은 곤충등을 먹고 자라는데, 이 곤충들이 잘 걸려들게 고깔 모양의 함정을 땅에 판다. 이 함정을 "개미지옥" 이라고 부른다.
둘째, 고깔 모양의 개미지옥과 if Hell 은 동일한 모양이다.
사진 참조 : http://scienceblogs.com/clock/2006/08/the_mighty_antlion.php
개미지옥이 고깔 모양의 형태로 아래로 향하고 있다면, if Hell 역시 코드가 오른쪽으로 점점 들어가 고깔 모양이 된다.
이렇게 이름을 지음으로써 의사전달이 더 편해지고, 오래 기억할 수 있으며, 이것은 함정이다. 라는 것을 각인 시켜 줄 수 있게 되었다.
오랜만에 나의 직관력이 좋은 이름을 골라 뿌듯하다.
'연구실 > 파편화된 기록들' 카테고리의 다른 글
for while 사용 차이점 (0) | 2010.03.23 |
---|---|
윈도우 7, 창 최대화 최소화, 화면 분할 좌측 붙이기, 화면 분할 우측 붙이기 (360) | 2010.01.15 |
"크다" 와 "작다"는 "같다" 보다 더 어렵다. (718) | 2010.01.13 |
%= 연산 Vs if 연산의 비교 (720) | 2010.01.11 |
for문 보다 STL이 더 직관적이고, 수정이 편하다. (360) | 2009.12.23 |
어떤 if 문이 인간이 이해하기 더 좋을까? (554) | 2009.12.02 |
멀티 쓰레드 기반에서 C++로 어떻게 편하게 락을 걸까? (360) | 2009.11.28 |
C++ Object Serialization : C++ 오브젝트 직렬화 (1481) | 2009.10.15 |
유니코드? 로케일? 스트림? 이것들을 아는가? (353) | 2009.06.04 |
boost 라이브러리에 고마운 마음 (0) | 2009.05.10 |
최근댓글