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