본문 바로가기

Reflection

에러처리

Programming By Contract vs. Defensive Programming 이란 제목의 글로 현업에서의 정치적(?) 책임 소재 문제에 대한 심도 깊은 글이 올라 왔다.

이것과 더불어 생각해봐야 할 문제는 Software Release다. 즉 Debugging 모드와 Release 모드를 가질때 과연 어떤 버전을 내보내야 하는가? 물론 Debugging 모드의 이미지에는 수많은 assert문이 들어가있다. 하지만 Release 모드에서는 assert문에 상응하는 에러 점검 루틴이 존재하지 않는다. 결국 Release 모드에까지 error처리를 하려면 assert문 아래 비슷한 루틴의 에러 처리문을 넣어주어야 한다. 따라서 코드는 또 지저분해 진다.

IdeA thinKING님이 밝히셨지만 개인적인 생각으로 이러한 것은 프로젝트가 시작될때 정책적으로 이미 결론이 나있어야 한다. 일종의 코드 표준화 문서에 존재해서 누구나가 준수해야 한다. 하지만 현업에서는 assert 문이 무엇인지 조차 모르는 사람이 허다하다.