Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Юмор

Страница: 1 |

 

  Вопрос: Теория ошибок Добавлено: 13.05.05 23:37  

Автор вопроса:  SyavX
**********************************
Т Е О Р И Я О Ш И Б О К
**********************************

Ошибки так же неисчерпаемы, как и атом.

Аксиома. В любой программе есть ошибки.

Закон пропорциональности. Чем более программа необходима, тем больше в ней ошибок.
Следствие. Ошибок не содержит лишь совершенно ненужная программа.

Фундаментальный закон теории ошибок. На ошибках учатся.

Следствие 1. Программист, написавший программу, становится ученым.

Следствие 2. Чем больше программист делает ошибок, тем быстрее он делается ученым.

Следствие 3. Крупный ученый-программист никогда не пишет правильные программы.

Замечание. На то он и ученый.

Указание начинающему программисту. Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.


Закон необходимости ошибок. Программист может обнаружить ошибку только в чужой программе.

Следствие. Ошибке не все равно, кто ее обнаружит.

Совет начинающему программисту. Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.
Определение. Будем называть языком ошибок правила, в обход которых пишутся программы.

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




Системные программы

Системные программы облегчают процесс написания прикладных программ и их ошибок.

Определение. Тестирование - это процесс нахождения ошибок в тесте. Хороший тест должен содержать ошибки, компенсирующие их нехватку в тестируемой программе.

Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удается обнаружить ни транслятором, ни отладчиком. Обычный текстовый редактор таких возможностей не предоставляет.

Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки. Ошибки, которые содержались в исходном описании, переводятся безошибочно.

Заключительный совет тем, кто до него добрался. До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #1 Добавлено: 13.05.05 23:57
prikol`no :D

Ответить

Номер ответа: 2
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #2
Добавлено: 14.05.05 00:30
ага круто... а помните анекдот про грабли? для тех кто не знает, на всякий случай кину:

Юзер - человек, наступающий на грабли.
Чайник - начинающий юзер, ни разу не наступавший на грабли и потому
уверенный, что граблей не существует.
Ламер - юзер, регулярно наступающий на грабли, но по-прежнему уверенный,
что граблей не существует.
Узкий специалист - юзер, в совершенстве владеющий наступанием на одни и
те же грабли.
Широкий специалист - юзер, имеющий на лбу более двух шишек.
Программер - тот, для кого в наступании на грабли важнее всего
результат. Устав наступать на чужие грабли, изготавливает свои
собственные.
Продвинутый программер - программер наступаю-щий на каждые грабли не
более двух раз.
Копирайт - концепция, ограничивающая количество доступных для наступания
граблей финансовыми возможностями юзера.
Геймер - тот, для кого в наступании на грабли важнее всего процесс.
Обычно не способен изготовить соб-ственные грабли.
Читер - разновидность геймера; наступает только на грабли с поролоновыми
насадками на ручке и обычно не больше одного раза.
Хакер - тот, кто способен наступить на грабли, даже если они спрятаны в
сарай и заперты на замок.
Хакер-идеалист - благородный борец за право каждо-го наступать на
неограниченное количество граблей.
Мicгоsоft-корпорация, всемирный лидер по производству граблей.
Билл Гейтс - мифическое существо из программерского фольклора; злой
дух-покровитель граблей.
Апгрейд - процесс перманентной траты денег на покуп-ку все новых
граблей, каждые из которых бьют больнее предыдущих.
Бета-версия - версия, в которой грабли видны невооруженным глазом.
Релиз - версия, в которой грабли присыпаны листьями, Совместимость
версий - принцип, позволяющий но-вым граблям попадать точно по шишке от
предыдущих.
Ассемблер - язык программирования, позволяющий наступать на грабли
несколько миллионов раз в секунду.
Локальная сеть - технология, позволяющая получить по лбу, даже когда на
грабли наступает кто-то другой.
Интернет - технология, позволяющая наступить на грабли, находящиеся на
другой стороне земного шара.
Сетевая конференция - технология, позволяющая каждому наступить не
только на свои, но и на чужие грабли.
Русские кодировки - подарочный набор граблей для пользователей
Интернета.
Дружественный интерфейс - резиновая накладка и ручку граблей.
Гибкий (настраиваемый) интерфейс - накладка на ручку граблей, которую
можно двигать, подгоняя под высоту своего лба.
Графический интерфейс - грабли, позволяющие регулировать цвет и
интенсивность искр после удара по лбу.
Ненадежная система - грабли, которые бьют вас даже тогда когда вы на них
не наступаете.
Надежная система - грабли, которые бьют вас по лбу даже когда вы стоите
к ним спиной.
Многозадачность - концепция, позволяющая насту пать на несколько граблей
одновременно.
Объектно-ориентированное программирование - метод изготовления граблей
по принципу матрешки.
Мануал - книга, описывающая различные способы на ступания на грабли.
Никогда не используется ламерам и хакерами. Продвинутые программеры
используют ее после того, как наступят на те же грабли во второй раз.
Техподдержка - служба, дающая советы, что делать после наступания на
грабли. Обычно первый ее совет наступить на грабли еще раз и сравнить
ощущения.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам