어설 션 또는 예외를 사용하여 계약에 따라 디자인 하시겠습니까? [닫은] 계약으로 프로그래밍 할 때 함수 나 메소드는 먼저 책임을 수행하기 전에 사전 조건이 충족되는지 확인합니다. 이러한 검사를 수행하는 가장 눈에 띄는 두 가지 방법 assert은 exception입니다. assert는 디버그 모드에서만 실패합니다. 모든 개별 계약 사전 조건을 (단위) 테스트하여 실제로 실패하는지 확인하는 것이 중요합니다. 디버그 및 릴리스 모드에서 예외가 실패합니다. 테스트 된 디버그 동작이 릴리스 동작과 동일하지만 런타임 성능 저하가 발생한다는 이점이 있습니다. 어느 쪽이 바람직하다고 생각합니까? 관련 질문을 여기에서보십시오 릴리스 빌드에서 assert를 비활성화하는 것은 "릴리스 빌드에서 어떤 문제도 발생하지 않을..