2009. 12. 22. 01:15 연구실/파편화된 기록들

이 포스트는 지난 포스트인 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 역시 코드가 오른쪽으로 점점 들어가 고깔 모양이 된다.


이렇게 이름을 지음으로써 의사전달이 더 편해지고, 오래 기억할 수 있으며, 이것은 함정이다. 라는 것을 각인 시켜 줄 수 있게 되었다.

오랜만에 나의 직관력이 좋은 이름을 골라 뿌듯하다.

posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요

  1. 준우 2010.04.23 13:22  Addr  Edit/Del  Reply

    하하하하하핳 좋은 비유 입니다.