Теория программирования a la Законы Мерфи

Закон первой компиляции
Если программа работает с первого раза, то что-то тут не так.
Замечание. С первого раза работают только совсем бесполезные программы.
Следствие. Крайне необходимая программа не заработает так, как надо, никогда.

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

Постулат теории ошибок в применении к программированию
Незамеченная ошибка выплывет только при публичной демонстрации (вероятность ее появления прямо пропорциональна квадрату количества присутствующих).
Следствие 1. Не стоит отлаживать программы в одиночестве.
Следствие 2. Если у задачи N параметров, то на самом деле их N+1 - плюс время запуска.

Перефразировка Козьмы Пруткова
Не шути с женщинами и прерываниями.

Статико-динамическое отношение
Статистический текст программы никогда не отражает того, что будет происходить в действительности.
Следствие 1. Даже автор программы никогда не в силах предсказать то, что она будет делать.
Следствие 2. Никогда нельзя быть до конца уверенным, висит программа или выполняет нечто полезное.
Следствие 3. Программа зависает именно тогда, когда ты меньше всего это ожиджаешь.

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

Информационно-мистический парадокс
Программа может заработать даже от изменения одного бита.
Следствие. И с таким же успехом загнуться.

Принцип проектирования
В каждой хорошей программе должна быть хотя бы одна функция, которая не работает, и одна, которая никогда не используется.
Замечание. Потрясающее число существующих программ замечательно хороши.
Следствие. Но лучшая программа - Microsoft Windows.

Закон безысходности
Любое условие имеет исключение, любой цикл имеет предпосылки к зависанию, любая программа имеет склонность к Run-Time Error"у.

Молекулярно-кинетическая аналогия
Программа сродни газу - она всегда пытается занять весь доступный ей объем памяти.
Следствие. Чем больше программа требует памяти, тем меньше взаимосвязь между ее функциональными частями.

Скоростное отношение
Скорость работы программы обычно обратно пропорциональна скорости ее написания.
Вывод. Windows 2000 писали в дикой спешке.

Закон Microsoft
Релиз без Service Pack - это еще Beta.
Замечание. Работающей версией следует считать пропатченный Final Service Release 2.5

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

Время: 20:50 23-10-1999
Место: Винница, Украина


Рецензии
На это произведение написаны 2 рецензии, здесь отображается последняя, остальные - в полном списке.