Теорія помилок для програмістів
У житті сисадміна трапляється чимало всіляких кумедних ситуацій. У житті користувача – тим більше. А якщо до цього додати грамчик гумору, то вийде новий конкурс від найдорожчих наших спонсорів, “Техніки для бізнесу”, та улюбленої сторінки всіх львівських (і, сподіваюся, не тільки) юзерів. Отож надсилайте чимдуж свої шедеврики на конкурс і – а як же без того? – приз пантруватиме на вас! Одне зауваження. Є така вельми неприємна річ, що її називають плагіатом. Але, маю надію, спокуса скористатися чужими плодами обійде вас 26-ю дорогою. Конкурс триватиме до кінця року. Найкращі жарти публікуватимуться на сторінках “Поступу”. За підсумками місяця буде визначатися найкращий “твір”, який братиме участь у фіналі. Між фіналістами буде розіграно щось неймовірно корисне та приємне. Автори опублікованих творів отримають цінні подарунки. Хай щастить!
Помилки так само невичерпні, як і атом.
Аксіома
У будь-якій програмі є помилки.
Закон пропорційності
Чим необхідніша програма, тим більше в ній помилок.
Наслідок
Помилок не містить лише абсолютно непотрібна програма.
Фундаментальний закон теорії помилок
На помилках вчаться.
Наслідок 1
Програміст, що написав програму, стає вченим.
Наслідок 2
Чим більше програміст робить помилок, тим швидше він стає вченим.
Наслідок 3
Великий вчений-програміст ніколи не пише правильних програм.
Зауваження
На те він і вчений.
Вказівки початкуючому програмісту
Якщо ви з першого разу зуміли написати програму, в якій транслятор не виявив жодної помилки, повідомте про це системного програміста. Він виправить помилки в трансляторі.
Закон виявлення помилок
Програміст може знайти помилку тільки в чужій програмі.
Наслідок
Помилці не все одно, хто її виявить.
Порада програмістові-початківцю
Ніколи не виправляйте знайдені помилки, бо це потягне за собою появу невідомого числа незнайдених. Краще опишіть їх у допоміжній документації як особливість програми.
Визначення
“Мовою помилок” називатимемо правила, в обхід яких пишуться програми.
Мова помилок
Помилки можуть іти одна за одною.
Від перестановки двох еквівалентних помилок результат не міняється (комутативність еквівалентних помилок).
Дві послідовні помилки можна об’єднати в одну, сильнішу.
Однакові помилки необов’язково щоразу повторювати, досить зробити одну, а потім звертатися до неї в міру необхідності з будь-якого місця програми.
Помилки можуть утворювати цикли. Найстійкіший з них — нескінченний.
Помилки можуть викликати одна-одну і самі себе (рекурсивність помилок).
Помилки допускають багаторазове вкладення одна в одну.
Дві однакові вкладені помилки називаються парною помилкою і помилкою не є.
Властивість парності помилок
Якщо написана програма спрацювала правильно, то це значить, що під час її роботи виконувалося парне число помилок – або програміст не зрозумів завдання.
Формулювання вищенаведеної властивості, призначене для політиків
Помилка, повторена двічі, перестає бути помилкою.
Далі буде!
На конкурс надіслав Мирон Гринів (м. Бібрка)
|
|