╔═══════════════════════════════════════╗
║ !!?ЮМОР?!! ║
╚═══════════════════════════════════════╝
В. ТИХОНОВ
ТЕОРИЯ ОШИБОК
Ошибки так же неисчерпаемы,
как и атом.
АКСИОМА
В любой программе есть ошибки.
ЗАКОН ПРОПОРЦИОНАЛЬНОСТИ
Чем более программа необходи-
ма,тем больше в ней ошибок.
СЛЕДСТВИЕ
Ошибок не содержит лишь со-
вершенно ненужная программа.
ФУНДАМЕНТАЛЬНЫЙ ЗАКОН ТЕОРИИ ОШИБОК
На ошибках учатся.
СЛЕДСТВИЕ 1
Программист, написавший прог-
рамму, становится ученым.
СЛЕДСТВИЕ 2
Чем больше программист делает ошибок,
тем быстрее он становится ученым.
СЛЕДСТВИЕ 3
Крупный ученый-программист никогда
не пишет правильные программы.
ЗАМЕЧАНИЕ
На то он и ученый.
УКАЗАНИЕ НАЧИНАЮЩЕМУ ПРОГРАММИСТУ
Если вы с первого раза сумели написать
программу, в которой транслятор не обна-
ружил ни одной ошибки, сообщите об этом
системному программисту. Он исправит
ошибки в
трансляторе.
ЗАКОН НАХОДИМОСТИ ОШИБОК
Программист может найти ошибку
только в чужой программе.
СЛЕДСТВИЕ
Ошибке не все равно, кто ее обнаружит.
СОВЕТ НАЧИНАЮЩЕМУ ПРОГРАММИСТУ
Никогда не исправляйте найденные ошибки,
ибо это повлечет за собой появление неиз-
вестного числа ненайденных. Лучше опишите
их в сопроводительной документа-
ции как особен-
ность программы.
ОПРЕДЕЛЕНИЕ
Будем называть языком ошибок правила,
в обход которых пишутся программы.
ЯЗЫК ОШИБОК
1. Ошибки могут следовать друг за другом.
2. От перестановки двух эквивалентных
ошибок результат не меняется (коммутатив-
ность эквивалентных ошибок).
3. Две последовательные ошибки можно об-
ъединить в одну, более сильную.
4. Одинаковые ошибки необязательно делать
каждый раз, достаточно сделать одну, а
затем обращаться к ней по мере необходи-
мости из любого места программы.
5. Ошибки могут образовывать циклы. Наи-
более устойчивый из них - бесконечный.
6. Ошибки могут вызывать друг друга и са-
ми себя (рекурсивность ошибок).
7. Ошибки допускают многократное вложение
друг в друга.
8. Две одинаковые вложенные ошибки назы-
ваются четной ошибкой и ошибкой не явля-
ются.
СВОЙСТВО ЧЕТНОСТИ ОШИБОК
Если написанная программа сработала пра-
вильно, то это значит, что во время ее
работы выполнялось четное число ошибок
или программист не понял задание.
ФОРМУЛИРОВКА ВЫШЕПРИВЕДЕННОГО СВОЙСТВА,
ПРЕДНАЗНАЧЕННАЯ ДЛЯ ПОЛИТИКОВ
Ошибка, повторенная дважды,
перестает быть ошибкой.
ВЗАИМОДЕЙСТВИЕ ОШИБОК С БАЗО-
ВОЙ ОПЕРАЦИОННОЙ СИСТЕМОЙ
Во время исполнения ошибки
имеют наивысший приоритет.
Прервать исполнение ошибки может
только другая, более активная ошибка.
Запросы операционной системы к ошиб-
кам ошибками могут игнорироваться.
Запросы ошибок к операционной
системе игнорироваться не могут. При ра-
боте с файлами ошибки могут пользоваться
файловой системой базовой ОС и
ее ошиб-
ками.
На ЭВМ с параллельной архитектурой
может выполняться несколько ошибок
одновре-
менно.
СИСТЕМНЫЕ ПРОГРАММЫ
Системные программы облегчают процесс
написания прикладных программ и их
оши-
бок.
Определение. Тестирование - это
процесс нахождения ошибок в тесте. Хоро-
ший тест должен содержать ошибки, компен-
сирующие их нехватку в тестируемой
прог-
рамме. Языковой редактор, призванный убе-
речь программиста от синтаксических оши-
бок, позволяет вносить в программу весьма
хитроумные ошибки, которые не удается об-
наружить ни транслятором, ни отладчиком.
Обычный текстовый редактор таких воз-
можностей не
предоставляет. Программа-транслятор,
предназначенная для перевода программ с
языка высокого уровня на машинный язык,
при переводе порождает ошибки. Ошибки,
которые содер-
жались в исходном описании,
переводятся безошибочно. Заключительный
совет тем, кто до него добрался. До нача-
ла работы над проектом следует тщательно
продумать все необходимые ошибки и связи
между ними. Это
значительно упростит работу над
ошибками в самом проекте.
На этом все!!
═════════════════════════════════════════
### # ### ## ##
# # # # # # # # #
#### # # # ### ##
# # # # # # #
### # # ### # ### ##
═════════════════════════════════════════
Other articles: