Предварительное условие
-
Определение и важность предварительных условий
- Предварительное условие — это условие, которое должно быть истинным перед выполнением кода.
- Нарушение предварительного условия может привести к неопределенному поведению кода.
- Отсутствие или неправильное подтверждение предварительных условий может привести к проблемам безопасности.
-
Примеры и проверка предварительных условий
- Факториальная функция требует, чтобы параметр был целым числом и больше или равен нулю.
- В некоторых языках проверка типов может автоматически проверять, что параметр является натуральным числом.
- В языках с ограниченной точностью чисел необходимо указывать максимальное значение параметра для предотвращения переполнения.
-
Предварительные условия в объектно-ориентированном программировании
- В объектно-ориентированном программировании предварительные условия являются частью контракта.
- Предварительные условия определяют ограничения на состояние объекта для успешного выполнения процедуры.
- Вызывающий абонент обязан убедиться в выполнении предварительного условия перед вызовом процедуры.
-
Пример Эйфелевой башни
- Процедура в Eiffel принимает целое число, которое должно быть в диапазоне от 0 до 23.
- Предварительное условие требует, чтобы аргумент был больше или равен нулю и меньше или равен 23.
-
Наследование и предварительные условия
- При наследовании процедуры подклассы должны соблюдать унаследованные предварительные условия.
- Переопределенные процедуры могут ослаблять, но не усиливать предварительные условия.
Полный текст статьи: