Що таке баг
Баг (від англ. bug — «жук, комаха») — це помилка в програмі, через яку вона поводиться неочікувано. Наслідки бувають від дрібних (одрук у меню) до серйозних (часті вильоти, втрата даних, вразливість, через яку можуть зламати систему).
В іграх багами називають усе, що працює не за задумом розробників: персонаж застрягає в текстурі, предмет дублюється, завдання не зараховується.
Як це працює
Слово «баг» на позначення технічної несправності вживали ще інженери XIX століття, зокрема Томас Едісон у 1878 році. Найвідоміша історія пов'язана з 9 вересня 1947 року: оператори обчислювальної машини Harvard Mark II з команди Грейс Гоппер знайшли в реле міль і вклеїли її в робочий журнал з написом «First actual case of bug being found» — «перший справжній випадок знаходження жука». Жарт працював саме тому, що слово вже було інженерним жаргоном.
Баги бувають різних видів: синтаксичні (код не відповідає правилам мови), логічні (програма працює, але результат неправильний, наприклад нескінченний цикл), помилки роботи з ресурсами (витоки пам'яті), помилки паралельної роботи (взаємні блокування, «стан гонитви»), арифметичні (ділення на нуль, переповнення).
Пошук і виправлення помилок називають налагодженням (debugging). Знайдені баги реєструють у системі відстеження, оцінюють за серйозністю й пріоритетом і виправляють в оновленнях.
Що робити, якщо ви знайшли баг
Спершу перевірте, чи помилка повторюється: перезапустіть застосунок, оновіть його до останньої версії, перезавантажте пристрій. Якщо баг лишається, повідомте розробникам. Корисний звіт (баг-репорт) містить кроки, які ви виконували, очікуваний і фактичний результат, модель пристрою, версію системи й застосунку, скриншот або запис екрана.
Багато компаній мають програми bug bounty — винагороди дослідникам, які знайшли вразливість безпеки й відповідально повідомили про неї розробникам. Публікувати спосіб використання такої вразливості до виправлення неетично і може бути незаконно.
У розмовній мові від слова «баг» утворилися «багований» (з помилками) і «багфікс» (виправлення помилки), а жартівлива фраза розробників «це не баг, а фіча» означає, що дивна поведінка програми нібито задумана.
Часті питання
- Баг це що простими словами?
- Це помилка в програмі, через яку вона працює неправильно: зависає, вилітає, рахує не так або показує не те. В іграх — будь-яка поведінка, не передбачена розробниками.
- Чому помилку в програмі називають багом?
- Англійське bug («жук») вживали щодо технічних несправностей ще в XIX столітті. Популярності слову додала історія 1947 року, коли в реле комп'ютера Harvard Mark II знайшли міль і вклеїли її в робочий журнал.
- Чим баг відрізняється від глюка?
- «Баг» — помилка в коді програми, яку можна відтворити й виправити. «Глюк» — розмовне слово для будь-якого збою, зокрема випадкового чи апаратного, причина якого не завжди в програмі.
- Що таке баг-репорт?
- Це звіт про помилку для розробників: кроки для відтворення, очікуваний і фактичний результат, дані про пристрій і версію програми, скриншоти. Чим точніший звіт, тим швидше баг виправлять.
Джерела: Wikipedia — Software bug.