09 октября 1998 |
![]() |

╔═══════════════════════════════════════╗ ║ !!?ЮМОР?!! ║ ╚═══════════════════════════════════════╝ В. ТИХОНОВ ТЕОРИЯ ОШИБОК Ошибки так же неисчерпаемы, как и атом. АКСИОМА В любой программе есть ошибки. ЗАКОН ПРОПОРЦИОНАЛЬНОСТИ Чем более программа необходи- ма,тем больше в ней ошибок. СЛЕДСТВИЕ Ошибок не содержит лишь со- вершенно ненужная программа. ФУНДАМЕНТАЛЬНЫЙ ЗАКОН ТЕОРИИ ОШИБОК На ошибках учатся. СЛЕДСТВИЕ 1 Программист, написавший прог- рамму, становится ученым. СЛЕДСТВИЕ 2 Чем больше программист делает ошибок, тем быстрее он становится ученым. СЛЕДСТВИЕ 3 Крупный ученый-программист никогда не пишет правильные программы. ЗАМЕЧАНИЕ На то он и ученый. УКАЗАНИЕ НАЧИНАЮЩЕМУ ПРОГРАММИСТУ Если вы с первого раза сумели написать программу, в которой транслятор не обна- ружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе. ЗАКОН НАХОДИМОСТИ ОШИБОК Программист может найти ошибку только в чужой программе. СЛЕДСТВИЕ Ошибке не все равно, кто ее обнаружит. СОВЕТ НАЧИНАЮЩЕМУ ПРОГРАММИСТУ Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неиз- вестного числа ненайденных. Лучше опишите их в сопроводительной документа- ции как особен- ность программы. ОПРЕДЕЛЕНИЕ Будем называть языком ошибок правила, в обход которых пишутся программы. ЯЗЫК ОШИБОК 1. Ошибки могут следовать друг за другом. 2. От перестановки двух эквивалентных ошибок результат не меняется (коммутатив- ность эквивалентных ошибок). 3. Две последовательные ошибки можно об- ъединить в одну, более сильную. 4. Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходи- мости из любого места программы. 5. Ошибки могут образовывать циклы. Наи- более устойчивый из них - бесконечный. 6. Ошибки могут вызывать друг друга и са- ми себя (рекурсивность ошибок). 7. Ошибки допускают многократное вложение друг в друга. 8. Две одинаковые вложенные ошибки назы- ваются четной ошибкой и ошибкой не явля- ются. СВОЙСТВО ЧЕТНОСТИ ОШИБОК Если написанная программа сработала пра- вильно, то это значит, что во время ее работы выполнялось четное число ошибок или программист не понял задание. ФОРМУЛИРОВКА ВЫШЕПРИВЕДЕННОГО СВОЙСТВА, ПРЕДНАЗНАЧЕННАЯ ДЛЯ ПОЛИТИКОВ Ошибка, повторенная дважды, перестает быть ошибкой. ВЗАИМОДЕЙСТВИЕ ОШИБОК С БАЗО- ВОЙ ОПЕРАЦИОННОЙ СИСТЕМОЙ Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка. Запросы операционной системы к ошиб- кам ошибками могут игнорироваться. Запросы ошибок к операционной системе игнорироваться не могут. При ра- боте с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошиб- ками. На ЭВМ с параллельной архитектурой может выполняться несколько ошибок одновре- менно. СИСТЕМНЫЕ ПРОГРАММЫ Системные программы облегчают процесс написания прикладных программ и их оши- бок. Определение. Тестирование - это процесс нахождения ошибок в тесте. Хоро- ший тест должен содержать ошибки, компен- сирующие их нехватку в тестируемой прог- рамме. Языковой редактор, призванный убе- речь программиста от синтаксических оши- бок, позволяет вносить в программу весьма хитроумные ошибки, которые не удается об- наружить ни транслятором, ни отладчиком. Обычный текстовый редактор таких воз- можностей не предоставляет. Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки. Ошибки, которые содер- жались в исходном описании, переводятся безошибочно. Заключительный совет тем, кто до него добрался. До нача- ла работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте. На этом все!! ═════════════════════════════════════════ ### # ### ## ## # # # # # # # # # #### # # # ### ## # # # # # # # ### # # ### # ### ## ═════════════════════════════════════════
Other articles:
|
|
|
|
|
|
Similar articles:
В этот день... 1 April
Info Guide #13,
ACNews #50,
Avro News #01,
ACNews #47,
ACNews #40,
ACNews #29,
Black Metall #01,
ACNews #16,
Adventurer #13,
Polesse #19,
Subliminal Extacy #03,
ZX Pilot #37,
Always #03,
Born Dead #0G,
Odyssey paper #08,
Optron #26,
City #08,
Zodiac #02,
Polesse #05,
Nicron #108,
X-Magazine #10,
Nicron #82,
Energy #01,
Sorrow News #03,
Sorrow News #02,
Proton #27,
Think #08,
Wallpaper #01,
Spectrum Progress #03,
Spectrum Expert #02,
Micro #01,
X-Files #02,
Gorodok #05,
Deja Vu #04,
Anecdotes #01,
X-Files #02,
Maximum #35,
Impulse #01,
Spectrofun #01,
Faultless #07,
Breeze #06,
Nicron #27,
Echo #03,
Oberon #01,
Spectrofon #19,
On-Line #30,
Sinclair Town #01,
Sinclair Classic #04,
Spectrofon #04