Согласно оригинальной книге, прагматичному программисту, утверждения по умолчанию отключены, поскольку разработчики компиляторов и другие распространяют идею о том, что снижение производительности неприемлемо, и они имеют значение только при отладке вашего кода.
На самом деле, вы предлагаете оставить утверждения включенными, потому что ваше тестирование может не найти всех ошибок и потому, что при отправке обезьяна хаоса может ударить в любое время. Утверждения следует отключать только в случае проблем с производительностью.
И также предлагается написать собственную версию assert, которая не обязательно вызывает exit в случае сбоя.