Поки ми тут з Олексієм приймали участь у споюванні модераторів Форуму і Назара з
ними заодно, я пригадав одну бородату канадську байку.
Отже.
ТЕОРІЯ ПОМИЛОК
Помилки такі ж невичерпні, як атом
АКСІОМА
В будь-якій програмі є помилки
ЗАКОН ПРОПОРЦІЙНОСТІ
Чим необхідніша програма, тим більше в ній помилок.
ВИСНОВОК
Помилок не містять лише нікому не потрібні програми.
ФУНДАМЕНТАЛЬНИЙ ЗАКОН ТЕОРІЇ ПОМИЛОК
На помилках учаться.
ВИСНОВОК 1
Програміст, що написав програму, стає вченим.
ВИСНОВОК 2
Чим більше програміст зробить помилок, тим скоріше він стане вченим
ВИСНОВОК 3
Великий учений-програміст ніколи не пише правильні програми.
ЗАУВАЖЕННЯ
На те він і вчений.
ВКАЗІВКИ ПРОГРАМІСТУ-ПОЧАТКІВЦЮ
Якщо ви з першого разу змогли написати програму, в якій транслятор не виявив
жодної помилки, повідомте про це системного програміста. Він виправить помилки в
трансляторі.
ЗАКОН ВИЯВЛЕННЯ ПОМИЛОК
Програміст може знайти помилку лише в чужій програмі.
ВИСНОВОК
Помилці не байдуже, хто її виявить.
ПОРАДА ПРОГРАМІСТУ-ПОЧАТКІВЦЮ
Ніколи не виправляйте знайдені помилки, бо це потягне за собою появу невідомої
кількості незнайдених. Краще опишіть їх в документації, як особливість
програми.
ВИЗНАЧЕННЯ
Будемо називати мовою помилок правила, в обхід яких пишуться програми.
МОВА ПОМИЛОК
Помилки можуть іти одна за одною.
Від переставляння двох еквівалентних помилок результат не міняється
(комутативність еквівалентних помилок).
Дві послідовні помилки можна об`єднати в одну, сильнішу.
Однакові помилки не обов`язково робити кожен раз, достатньо створити одну, а потім
звертатись до неї при необхідності з будь-якого місця програми.
Помилки можуть утворювати цикли. Найбільш стійкий з них – безмежний.
Помилки можуть викликати одна одну і самі себе (рекурсивність помилок).
Помилки можуть бути вкладеними одна в іншу довільну кількість раз.
Дві однакові вкладені помилки називаються парною помилкою і помилкою не
вважаються.
ВЛАСТИВІСТЬ ПАРНОСТІ ПОМИЛОК
Якщо написана програма запрацювала правильно, то це означає, що під час її роботи
виконалась парна кількість помилок, або програміст не зрозумів завдання.
ФОРМУЛЮВАННЯ НАВЕДЕНОЇ ВИЩЕ ВЛАСТИВОСТІ, ПРИЗНАЧЕНА ДЛЯ ПОЛІТИКІВ
Помилка, повторена двічі перестає бути помилкою.
ВЗАЄМОДІЯ ПОМИЛОК З БАЗОВОЮ ОПЕРАЦІЙНОЮ СИСТЕМОЮ
Під час виконання помилки мають найвищий пріоритет. Перервати їх виконання може
тільки інша помилка з більш високим пріоритетом.
Запити операційної системи до помилок помилками можуть ігноруватися.
Запити помилок до операційної системи ігноруватись не можуть.
При роботі з файлами помилки можуть користуватись файловою системою базової ОС і
її помилками.
На ПК з паралельною архітектурою може виконуватись декілька помилок одночасно.
СИСТЕМНІ ПРОГРАМИ
Системні програми полегшують процес написання прикладних програм і їх помилок.
ВИЗНАЧЕННЯ
Тестування – це процес виявлення помилок в тесті.
Хороший тест повинен містити помилки, які б компенсували їх брак в програмі, яку
тестується.
Мовний редактор, призначений застерегти програміста від синтаксичних помилок,
дозволяє вносити в програму досить хитрі помилки, які не вдається виявити ні
транслятором, ні відладчиком. Звичний текстовий редактор таких можливостей не
дає.
Програма-транслятор, призначена для переводу програм з мови високого рівня на
машинну мову, при переводі породжує помилки. Помилки, які містились в описі
програми переводяться безпомилково.
І останнє. Перед початком роботи над проектом слід кропітливо продумати всі
необхідні помилки і зв`язки між ними. Це значно спростить роботу над помилками в
самому проекті.