Page 10 -
P. 10
래 머 라 고 답 하 는 사 람 이 9 0 % 나 되 며 그 와 동 시 에 프 로 그 래 머 중 9 0 % 는 자 신 이 그 1 0 % 의 훌 륭 한
프 로 그 래 머 에 속 한 다 고 대 답 한 다!
프 로 그 래 머 에 게 가 장 필 요 한 자 질 은 자 기 자 신 의 한 계 를 깨 닫 는 것 이 다. 우 리 는 자 신 이 기 껏 해 야 1 1
평 균 적 인 프 로 그 래 머 에 지 나 지 않 는 다 는 사 실 을 직 시 해 야 한 다. 우 리 는 전 체 시 간 중 2 0 % 를 버 그 프
로
그
가 있 는 프 로 그 램 을 작 성 하 는 데 소 비 하 고, 4 0 % 를 버 그 가 있 는 지 없 는 지 확 실 치 않 은 코 드 를 리 램
을
팩 터 링 (r ef a ct ori n g)하 는 데 사 용 하 며, 나 머 지 4 0 % 를 프 로 덕 션 (pr o d u cti o n )에 이 미 들 어 있 는 코 드 더
안
전
를 디 버 깅 하 는 데 사 용 한 다. 버 그 에 는 눈 에 띄 는 분 명 한 버 그 와 눈 에 띄 지 않 는 불 분 명 한 버 그 가 하
게
만
있 기 때 문 이 다. 하 지 만 불 분 명 한 버 그 가 나 중 에 분 명 한 버 그 로 자 신 을 드 러 낸 다 는 사 실 은 확 실 하 들
기
다( 다 만 그 모 습 을 드 러 낼 때 까 지 얼 마 나 시 간 이 걸 릴 지 가 문 제 일 뿐 이 다). 여 기 서 버 그 가 분 명 해
지 기 까 지 얼 마 나 오 랫 동 안, 얼 마 나 많 은 해 악 을 끼 칠 것 인 가 하 는 문 제 가 남 는 다.
이 문 제 를 어 떻 게 다 룰 수 있 을 까 ? 현 재 까 지 나 온 그 어 떤 프 로 그 래 밍 도 구, 기 법, 훈 련 방 식 도 프
로 그 램 에 서 버 그 를 완 전 히 없 애 지 는 못 한 다. 하 지 만 특 정 유 형 에 속 하 는 버 그 는 없 앨 수 있 고, 없
애 지 못 하 고 남 은 버 그 가 프 로 그 램 에 서 별 도 로 구 분 된( 안 전 이 보 장 되 지 않 는) 영 역 에 서 만 일 어 난
다 고 보 장 할 수 있 는 프 로 그 래 밍 기 법 도 여 럿 있 다. 이 런 기 법 을 사 용 하 면 버 그 를 더 쉽 고 효 율 적
으 로 잡 을 수 있 기 때 문 에 프 로 그 래 밍 에 서 아 주 큰 차 이 가 나 타 난 다. 예 를 들 어 버 그 의 존 재 를 증
명 하 지 못 할 정 도 로 프 로 그 램 을 복 잡 하 게 짜 는 대 신, 버 그 가 없 음 이 명 확 히 보 이 는 단 순 한 프 로 그
램 을 작 성 하 는 방 법 이 다. 3
이 장 의 나 머 지 부 분 에 서 는 불 변 성 (i m m ut a bilit y), 참 조 투 명 성(r ef er e nti al tr a ns p ar e n c y), 치 환 모 델
(s u bstit uti o n m o d el ) 등 을 설 명 하 면 서 몇 가 지 권 장 할 만 한 코 딩 기 법 을 보 여 준 다. 설 명 한 기 법 을
함 께 활 용 하 면 여 러 분 의 프 로 그 램 을 더 안 전 하 게 만 들 수 있 다. 이 런 개 념 을 이 책 에 서 는 반 복 적
용 할 것 이 다.
3 “ … 소 프 트 웨 어 를 설 계 하 는 데 는 두 가 지 방 법 이 있 다. 한 가 지 방 법 은 설 계 를 아 주 단 순 화 해 서 결 함 이 없 음 을 확 실 히 알 수 있 도 록 만 드 는 것
이 고, 또 다 른 방 법 은 설 계 를 아 주 복 잡 하 게 만 들 어 서 결 함 이 있 는 지 확 실 히 알 수 없 도 록 만 드 는 것 이 다.” A C M 소 식 지(C o m m u ni c ati o n s of
t h e A C M ) 2 4 권( 1 9 81년 2 월) 7 5 ~ 8 3 페 이 지 에 실 린 C .A .R 호 어(H o ar e ) 의 “ 황 제 의 낡 은 옷(T h e E m p er or ’s Ol d Cl ot h e s )” 을 참 고 하 라.
0 3 3