ZX-News
#11
29 октября 1996 |
|
Юмор - Теория ошибок.
┌────────┐ │ Юмор │▒ └────────┘▒ ▒▒▒▒▒▒▒▒▒▒ Подготовил к публикации в ZxNews Ilya Fomin ────────────────────────── ТЕОРИЯ ОШИБОК Ошибки так же неисчерпаемы, как и атом. Аксиома. В любой программе есть ошибки. Закон пропорциональности. Чем более не- обходимой является программа, тем больше в ней ошибок. Следствие. Ошибок нет лишь в совершен- но ненужной программе. Фундаментальный закон теории ошибок. На ошибках учатся. Следствие 1. Программист, написавший программу, становится учёным. Следствие 2. Чем больше программист делает ошибок, тем быстрее он становится учёным. Следствие 3. Крупный учёный-програм- мист никогда не пишет правильные програм- мы. Замечание. На то он и учёный. Указание начинающему программисту. Если Вам с первого раза удалось напи- сать программу, в который транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту - он исправит ошибки в трансляторе. Закон необходимости ошибок. Программист может обнаружить ошибку только в чужой программе. Следствие. Ошибке не все равно, кто её обнаружит. Совет начинающему программисту. Никогда не исправляйте найденные ошиб- ки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опи- шите их в сопроводительной документации как особенность программы. Язык ошибок Определение. Будем называть языком оши- бок правила, в обход которых пишутся прог- раммы. Ошибки могут следовать друг за другом. От перестановки двух эквивалентных оши- бок результат не меняеся (коммутативность эквивалентных ошибок). Две последовательные ошибки можно обье- динить в одну, более серьёзную. Одинаковые ошибки необязательно делать заново каждый раз, достаточно сделать од- ну, а затем обращаться к ней по мере необ- ходимости из любого места программы. Ошибки могут образовывать циклы. Наибо- лее устойчивый из них - бесконечный. Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок). Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называ- ются чётной ошибкой и ошибкой не являются. Свойство чётности ошибок. Если написан- ная программа сработала правильно, то это значит, что во время её работы выполнилось чётное число ошибок или программист не по- нял задание. Формулировка вышеприведенного свойства, предназначенная для политиков. Ошибка, повторенная дважды, перестаёт быть ошибкой. Взаимодействие ошибок с базовой операционной системой. Ошибки во время исполнения имеют наи- высший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка. Запросы операционной системы к ошибкам ошибками могут игнорироваться. При работе с файлами ошибки могут поль- зоваться файловой системой базовой ОС и её ошибками. На ЭВМ с правильной архитектурой может выполняться несколько ошибок одновременно. Системные программы Системные программы облегчают процесс написания прикладных программ и их ошибок. Определение. Тестирование - это процесс нахождения ошибок в тесте. Хороший тест должен содержать ошибки, компенсирующие их нехватку в тестируемой программе. Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хит- роумные ошибки, которые не удается обнару- жить ни транслятором, ни отладчиком. Обыч- ный текстовый редактор таких возможностей не предоставляет. Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе по- рождает ошибки. Ошибки, которые содержа- лись в исходном описании, переводятся бе- зошибочно. Заключительный совет тем, кто до него добрался. До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упрос- тит работу над ошибками в самом проекте. __________________________ ────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября