오랜만에 포스팅 합니다. 이곳을 방문하시는 분들 중에 소수의 분들은 아시겠지만, 제가 결혼을 하고 지난주 월요일에 신혼 여행을 다녀온 후에.. 외부 프로젝트에서 열심히 작업에 한창인지라, 블로그에 글 하나 올릴 여유가 없는듯합니다.
고로… 다시금 블로그에 글을 올리기 위한 동기 마련을 위해 금주 월요일, 오늘 글을 하나 올려 보려고 합니다. 딱히 요즘 작업에 여념이 없어, 새로운 학습이 없어 올릴만한 주제가 없긴한데요.. 그래서 요즘 개발하고 있는 컴포넌트에 대한 오류의 디버깅을 하던 차에.. 문제점 해결을 위해 이렇게 하면 좋겠구나 하는 제 경험적인 내용을 간단히 정리하려고 합니다.
먼저 문제점이 발생했을 경우, 그 문제점에 대한 현상을 구체적이고 정확히 서술 해줘야합니다. 그 다음으로 이 현상을 발생시켰던 사용자의 행위를 단계별로 정리해야 합니다. 물론 사용자의 행위가 없는 경우가 있습니다. 예를 들어… 프로그램이 가만이 있는데, 다운된다거나 하는 등.. 그리고 다음으로는 문제 현상을 발생시키는 프로그램 코드의 위치를 파악해야 합니다. 그리고 현상과 사용자의 행위 그리고 문제가 되는 코드를 힌트로 해서 문제점의 원인을 추정해 봅니다. 일단 추정이므로 추정 원인은 여러개가 나올 수 있겠습니다. 이 추정 리스트를 통해서 확인해 가면서 맞아 떨어지는 추정을 해결하면 문제점이 해결되겠지요. 여기서 중요한 것은 해결방법을 최종적으로 구체적으로 정리해서 추후에 동일한 문제점이 발생했을때 동일한 실수를 범하지 말아야한다는 점입니다.
정리해보면, 프로그래밍 문제 해결 체크 리스트 항목으로…
- 문제점에 대한 현상
- 문제의 현상을 일으키는 사용자 행위
- 문제가 되는 프로그램 코드 위치
- 문제점의 원인 추정
- 추정에 대한 해결방법
이번주는 프로그램에 대한 버그 수정에 곯머리를 앓을것같아서, 막무가내로 버그를 잡지 말고 체계적으로 해결해자는 취지에서 이 글을 올려봅니다. 물론, 오랜만에 블러그에 글을 포스팅하는 이유도 있지만 말입니다.
앗 결혼하셨군요~ 축하합니다. 요즘의 화창한 날씨만큼이나 행복하게 사시길~
본문 관련해서 책 한 권 추천(사실은 광고^^)드립니다: 프로그램은 왜 실패하는가: 체계적인 디버깅 지침서”, http://occamsrazr.net/tt/111
결혼 축하, 감사합니다~ ^^ 좋은 책을 번역하셨군요~ 예전에 보내주신 책은 아직도 소중히 잘 간직하고 있답니다.