MMOnline
 Главная
  Новости
  Обновления
 MMWiki
  Энциклопедия
  Все страницы
 Учеба
  Расписание
  Материалы
  Статьи
  Аспирантура
  Война
  Кафедры
  Преподаватели
 Работа
  Резюме
 Абитуриентам
  Статьи
  Варианты
 Территория
  ГЗ снаружи
  ГЗ изнутри
 Развлечения
  Тексты
  Галерея
  Анекдоты
  Задачки
 Форум
 Download
 Ссылки
Карта сайта Карта сайта
О проекте О проекте
Поиск Поиск

Новости

16.12.00 21:47  Теория ошибок

версия для печати

Теория ошибок

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

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

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

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

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

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

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

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

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

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

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

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

Язык ошибок.

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

  • Ошибки могут следовать друг за другом.
  • От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок).
  • Две последовательные ошибки можно объединить в одну более сильную.
  • Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну и обращаться к ней по мере необходимости из любого места программы.
  • Ошибки могут образовывать циклы. Наиболее устойчивый из них бесконечный.
  • Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).
  • Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.

Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.

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

Взаимодействие ошибок с базовой операционной системой.

  • Во время исполнения ошибки имеют наивысший приоритет.
  • Прервать исполнение ошибки может только другая, более активная ошибка.
  • Запросы операционной системы к ошибкам ошибками могут игнорироваться.
  • Запросы ошибок к операционной системе игнорироваться не могут.
  • При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
  • На ЭВМ с параллельной архитектурой может выполняться несколько ошибок одновременно.

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

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

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

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

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




Последние обновления

Аспирантура в области Computer science в Порту (Португалия)
14.06.11 01:21 | MMOnline
Applications are accepted to award one PhD research grant (within the scope of ENSURE project), funded by the European Union/ European Commission through

21 июня Магистратура мехмата МГУ проведет День открытых дверей
05.06.11 20:48 | MsuNews
Магистратура механико-математического факультета Московского государственного университета имени М.В. Ломоносова проводит День открытых дверей, на котором буду представлены магистерские программы по

Сбербанк приглашает выпускников технических факультетов МГУ в целевую магистратуру в ГУ-ВШЭ
10.05.11 22:27 | Новости МГУ
Сбербанк России объявляет о начале целевого набора выпускников технических вузов на обучение по магистерской программе. Занятия на программе будут проходить в вечернее время и по субботам. Для


 Темы
 Новости
 Сайт работает с 29.08.2000, Copyright © 2000−2019 MMOnline.Ru and MMForce.Net,
 Правовая информация Обратная связьУчастие в проектеРазместить рекламу
Rambler's Top100 Service