Теорія помилок В. Тихонова:

Помилки так само невичерпні, як і атом.

Теорема

У будь-якій програмці є помилки.

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

Слідство

Помилок не містить лише зовсім непотрібністю програмка.

Базовий закон теорії помилок

На помилках навчаються.

Слідство 1

Програмер, який написав програмку, стає вченим.

Наслідок 2

Чим більше програмер робить помилок, тим жвавіше він робиться вченим.

Наслідок 3

Величавий вчений-програміст ніколи не пише правильні програмки.

Зауваження

На те він і вчений.

Вказівка починаючому програмер

Якщо ви з першого разу змогли написати програмку, в якій транслятор не знайшов жодної помилки, повідомте про це системного програміста. Він виправить помилки у трансляторі.

Закон необхідності помилок

Програмер може відшукати помилку виключно в чужій програмці.

Слідство

Невірно не все одно, хто її побачить.

Рада починаючому програмер

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

Визначення

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

Мова помилок

Помилки можуть слідувати вервечкою.

Від перестановки двох еквівалентних помилок підсумок не змінюється (комутативність еквівалентних помилок).

Дві почергові помилки можна з’єднати в одну, більш сильну.

Схожі помилки необов’язково робити всякий раз, досить зробити одну, а потім звертатися до неї при необхідності з хоч якого місця програмки.

Помилки можуть створювати цикли. Більш стійкий з їх — нескінченний.

Помилки можуть викликати і самі себе (рекурсивность помилок).

Помилки допускають неодноразове вкладення одне в одного. Дві одноманітні вкладені помилки іменуються парної помилкою і помилкою не є.

Властивість парності помилок. Якщо написана програмка спрацювала вірно, то це означає, що під час її роботи виповнилося парне число помилок або програмер не зміркував завдання.

Формулювання вищенаведеного характеристики, створена для політиків. Помилка, повторена двічі, перестає бути помилкою.

Взаємодія помилок з базисною операційною системою.

При виконанні помилки мають найвищий цінність. Обірвати виконання помилки може тільки інша, більш активна помилка.

Запити операційної системи до помилок помилками можуть ігноруватися.

Запити помилок до операційної системи ігноруватися не можуть.

При роботі з файлами помилки можуть скористатися файловою системою базисної ОС і її помилками.

На ЕОМ з паралельною архітектурою може вироблятися кілька помилок відразу.

Системні програмки спрощують процес написання прикладних програм та їх помилок.

Визначення. Тестування — це процес знаходження помилок у тесті. Непоганий тест повинен містити помилки, компенсуючі їх нестачу в тестованої програмці.

Мовний редактор, покликаний уберегти програмера від синтаксичних помилок, дозволяє заносити в програмку дуже хитромудрі помилки, які не вдається знайти ні транслятором, ні відладчиком. Текстовий редактор таких здібностей не надає.

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

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