Допустим, вы разработчик компилятора и создаете инструмент статического анализа, который будет запускаться во время компиляции, чтобы помочь отлавливать ошибки.
Например, здесь, механизм на основе диапазона, который определит возможные значения, которые может принять правый оператор /
.
Теперь есть два случая:
- правая сторона определенно 0
- правая сторона, возможно, 0
Очевидно, что для разделения двух случаев требуется больше усилий.
И, таким образом, вы можете справедливо предположить, что наиболее распространенной причиной ошибок будет вероятность , а не достоверность (nodoby в здравом уме будет делиться на 0, верно?) и сэкономить себе немного работы.
Это оптимально? Для разработчика возможно, для пользователя не очень.
Можно ли его использовать? Определенно.