실용주의 프로그래머 Topic 24

Topic 24 죽은 프로그램은 거짓말을 하지 않는다

데이비드 토머스, 앤드류 헌트

Alt text

느낌표 ! (인상 깊은 문장 | 문맥)

이것이 모든 케이스/스위치 문에 디폴트 구문을 달아야 하는 이유다. ‘있을 수 없는 일’이 발생했을 때 우리는 그 사실을 알아야 한다.

p.159

코드 관련 책을 읽다보면 혹자는 switch 구문을 절대 사용해서는 안된다고 말하는 사람도 볼 수 있다. 그렇지만 필자가 느끼기에는 switch 문은 예상 값을 벗어낫을 때 default 로 깔끔하게 작성할 수 있는 부분이 무척이나 마음에 들어 필요하다고 생각을 한다.

‘그런 일은 절대 일어날 리 없어.’라는 사고에 빠지기 쉽다. 우리 중 대다수가 코드를 작성할 때 파일이 성공적으로 닫혔는지, 혹은 트레이스 문이 우리 예상대로 찍혔는지 확인하지 않았던 적이 있을 것이다.

p.159

테스트 케이스를 작성하다보면은 중요한 검증을 빼 먹는 경우가 있다. 인용구의 예처럼 파일이 성공적으로 닫혔는지 디비 커넥션은 제대로 열리고 닫히는지 등 당장 눈앞에 결과가 아닌 세밀한 검증을 놓치는 경우가 있다. 이를 위해서는 경험과 풍부한 상상력도 필요하다.

일단 그놈의 오류 메시지 좀 읽어라

p.159

사실 꽤나 많이 끝에 출력된 부분만 읽고 구글에 검색하였는데 요즘 조금씩 에러 메시지가 굉장히 친절하다는 것을 느끼고 있다.

일반적으로 죽은 프로그램이 끼치는 피해는 이상한 상태의 프로그램이 끼치는 피해보다 훨씬 적은 법이다.

p.161

위 인용구는 당연히 맞는 말이지만 아직 이를 핸들링한다는 감은 없다..

Topic 24 느낌

Topic 24 에서는 정말 프로그램은 거짓말하지 않는다는 것을 인정하게 한다. 그러므로 잘 다룰 수도 있다는 것을 말하는 것 같다.


실용주의 프로그래머 Topic 23

Topic 23 계약에 의한 설계

실용주의 프로그래머 Topic 25

Topic 25 단정적 프로그래밍

NCloud LB & SourcePipeline 구축하기
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지