머피의 법칙(Murphy's law)이란 '잘못될 수 있는 일은 결국 잘못되게 마련이다.' 또는 '잘못될 수 있는 일은 하필이면 최악의 순간에 터진다'는 법칙을 말합니다.
If anything go wrong, it will잘만 되던 프로그램이 고객 시연회나 PM이나 PL에게 보여주려고만 하면 꼭 안된다. 남들앞에서 데모를 보여주려고만 하면 지금까지 잘되던 기능이 에러를 내면서 사람을 애먹인다.
사실 이 법칙에 아무런 과학적 근거도 없다고 합니다. 굳히 찾는다면 '나쁜 일이 오래 기억에 남는다' 정도..
하지만 이런 최악의 상황을 고려해서 시스템을 개발한다면 고 품질의 제품을 개발할 수 있지 않을까 생각한다. 미국 항공 우주국(NASA)도 이 머피의 법칙에 주목하면서 대형 사고의 위험을 많이 줄였다고 하네요.
이 머피의 법칙을 고려한 프로그래밍을 Defensive programming이라고 합니다. 위키피디아에 이 DP의 좋은 점으로 세가지를 들고 있습니다.
- 소프트웨어의 버그와 문제가 줄어들기 때문에 일반적인 품질이 좋아진다.
- 소스코드가 읽기 쉽고 이해하기 쉬어지기 때문에 코드 검증효과가 있어서 소스코드 가독성이 좋아진다.
- 예기치 못한 사용자의 입력에도 소프트웨어가 의도하는대로 동작하게 만드는것이 가능해진다.
'Life & Culture' 카테고리의 다른 글
| 남에게 주기위해 공부했다. - 안철수 교수님 인터뷰 (0) | 2008/08/02 |
|---|---|
| 어느 한국인의 "영어 완전정복기" (0) | 2008/07/31 |
| 머피의 법칙과 소프트웨어 개발 (0) | 2008/07/30 |
| 아파트 앞에 피었던 장미 (2) | 2008/07/28 |
| 선릉역 근처 커피숖 앞에서 찍은 인형 (0) | 2008/07/26 |
| 마이크로 소프트 빌게이츠에 대한 영상 (0) | 2008/07/21 |


