Защитное программирование
Защитное программирование - основано на важной предпосылке: худшее, что может сделать модуль, это принять неправильные входные данные и затем вернуть неверный, но правдоподобный результат.
Чтобы разрешить эту проблему, в начале каждого модуля помещаются проверки входных данных на соответствие их свойств атрибутам и диапазонам изменения, на полноту и осмысленность.
Программа может проверять также вводимые данные (сообщения) пользователем с клавиатуры во время работы приложения. При этом, она должна принимать любое вводное значение (сообщение) и обработать ее соответствующим образом (в крайнем случае - выдать свое сообщение и попросить пользователя ввести новое, правильное по смыслу значение (сообщение).
При этом требуется разумный подход. Если над входными данными выполнять все мыслимые проверки, то защищающая часть программы может стать настолько сложной, что ее влияние на надежность и эффективность будет не позитивным, а негативным.
Аварийные ситуации внутри программы такие, как переполнение, деление на ноль, извлечение квадратного корня или вычисление логарифма из отрицательного числа и т.д., должны быть обработаны программой. После наступления аварийной ситуации должно быть выдано соответствующее сообщение и выполнена заданная команда. Выполнять же вышеперечисленные операции лучше после проверки аргументов заданным условиям. Это займет немного времени на дополнительное программирование, но значительно повысит надежность программного обеспечения в целом.
Назад