Кроме того, некоторые мелкие ошибки намеренно не исправляются, так как это может быть опасно: Если вы устраните одну маленькую проблему, появится много больших ошибок. Лучше оставить небольшой жучок, который увидит один человек из 100. Вы подняли этот вопрос в следующем абзаце, но под несколько иным углом.
Баги и ошибки — как искусство
Баг или ошибка, которая влияет на целостность программы или программного кода, в этом коротком учебнике я хочу рассказать об этих странных, забавных и иногда неизвестных вещах, надеюсь, этот учебник поможет вам понять, как я вижу этот удивительный мир багов и ошибок, многие люди воспринимают их как нечто надоедливое и чрезвычайно раздражающее, в некотором смысле они все правы.
В программировании ошибка — это разговорный термин, обычно используемый для обозначения ошибки в программе или системе, которая приводит к неожиданным или неправильным результатам. Большинство ошибок вызвано ошибками, допущенными программистами программы в исходном коде или дизайне. Некоторые ошибки также возникают из-за неправильной работы компилятора, что приводит к появлению некорректного кода. Программа, содержащая большое количество багов и/или ошибок, которые сильно ограничивают ее производительность, называется нестабильной или, в просторечии, «глючной», «глюкавой», «баговой», «багованной». Термин «ошибка» обычно используется для обозначения ошибок, возникающих во время выполнения программы, в отличие, например, от ошибок проектирования или синтаксиса. Отчет об ошибке также называется сообщением об ошибке. Сообщение об ошибке, которая вызывает сбой программы, называется сообщением о сбое. «Сообщения об ошибках выявляются и устраняются в процессе тестирования и отладки программы. Бывают случаи, когда ошибки, которые остаются во внутреннем коде или в программе, не обнаруживаются и не находятся во время тестирования или при выпуске программы или игры. Эти ситуации исправляются в так называемых «патчах», которые выпускаются как можно скорее, чтобы устранить все дыры и проблемы. Когда патч готов, разработчик или программист публикует «patch note» — список изменений и исправлений. Итак, хватит о техническом жаргоне, давайте перейдем к практике.
Как выглядит баг
И как это исправить
Чаще всего их можно обнаружить на ранних стадиях разработки, например, когда игра находится в стадии разработки всплывают баги или отчеты об ошибках, но бывает, что их даже не удается поймать, особенно когда проделана большая работа, а ошибка не проявляется, для таких случаев существуют тестеры, люди, которые 24 часа в сутки проверяют каждый уголок на наличие багов, чтобы когда вы играете в условный Fallout 76 ваша игра не была окончательно сломана. Это правда, что люди не могут увидеть все в итоге и это занимает еще больше времени и работы, но все же некоторые баги нельзя исправить, такие баги не критичны и зачем их исправлять, если это не принесет убытков, поэтому большое количество багов исправляют не разработчики, а игроки, а они просто неравнодушны. Такие вещи называются исправлениями. Теперь перейдем к виновнику торжества в этой книге. Самое простое — это отсутствие текстуры, это может быть прозрачная поверхность или разноцветные пиксели, это происходит, когда текстура отсутствует в игре. Более критичными являются ошибки в коде, перескочил куда-то не туда и вот уже игра зависает, выдает ошибку и рушится, проблема здесь в том, что где-то сломалась часть кода, которая выдает ошибку при активации. Есть ошибки в тексте и звуке, например, меч играет не курица, а человек, в то время как в субтитрах говорится, что это машина. Также можно застрять в текстуре или нарушить цепочку событий в игре. Невозможно исправить все, так как их трудно заметить на этом уровне, иногда они появляются из ниоткуда, но всегда весело находить их, когда они не критичны.
Творческие решения
Но баги нашли хорошую соревновательную сторону, спидраны — гонки по играм на скорость, проходить игры просто так скучно, но с багами это совсем другое дело, уменьшаем игру в 3 раза прыгая за текстурами, плюсы в этом деле вздуваются, анализ спидрана я делать не буду это все уже сделано за меня, я просто хочу сказать, что удивительно как люди используют баги и ошибки, все пиксели просчитываются и все это основано на багах, багах и глюках.
Этимология
Легенда о мотыльке и день тестировщика
Популярная легенда гласит, что 9 сентября 1945 года ученые Гарвардского университета, тестировавшие релейный калькулятор Mark II Aiken, обнаружили моль между контактами электромеханического реле, и Грейс Хоппер придумала этот термин. Найденный мотылек был вклеен в технический журнал с надписью: «Первый реальный случай обнаружения насекомого». Считается, что это забавное событие послужило толчком к использованию слова «отладка», но, скорее всего, этот термин — игра слов.
Запись в техническом журнале
На самом деле эта история произошла 9 сентября 1947 г., а не 1945 г. Знаменитый мотылек был доставлен в Музей компьютерной техники, где он находится и по сей день. Под основанием имеется надпись, гласящая, что этот мотылек был первым жучком, обнаруженным в истории компьютерных технологий. С тех пор этот термин используется компьютерными учеными во всем мире. И было решено сделать день обнаружения ошибки праздником для всех тестировщиков.
Исторические факты
Между тем, слово «интерференция» в его современном значении использовалось гораздо раньше сотрудниками телеграфных и телефонных компаний для обозначения проблем с электрическим и радиооборудованием. Во время Второй мировой войны слово «жучки» относилось к проблемам с электронным радаром. В 1878 году Томас Эдисон написал:
Это всегда происходило со мной во всех моих изобретениях. Первым шагом была удача, за ней последовала молния, затем появились препятствия — и они исчезли, затем появились баги — так называемые небольшие ошибки и трудности — и потребовались месяцы постоянного поиска, исследований и тяжелой работы, прежде чем пришел успех или неудача.
Так было со всеми моими изобретениями. Первый шаг — это интуиция, и она приходит на ура, затем появляются трудности — эта штука сдается, и [именно] тогда появляются «баги» — как называют такие мелкие дефекты и трудности — и требуются месяцы интенсивных поисков, исследований и работы, прежде чем коммерческий успех или неудача будут точно достигнуты. [1]
Употребление
Популярную фразу «Это не ошибка, это особенность» следует воспринимать буквально: Это не ошибка, это особенность работы программы. Поскольку на программное обеспечение распространяются те же законы об авторском праве, что и на текстовые публикации, ошибка в программе с юридической точки зрения является лишь мнением автора.
Для отладки программы разработчики программного обеспечения используют специальные отладочные программы. В операционной системе Windows, например, можно использовать программу WinDbg из пакета Microsoft Debugging Tools for Windows. Для GNU/Linux и некоторых других UNIX-подобных операционных систем существует отладчик под названием GDB (GNU Debugger).
Отчёты об ошибках
Большинство ошибок обычно исправляется на этапе компиляции и тестирования программы. Но некоторые ошибки попадают в релиз и появляются на компьютерах конечных пользователей при использовании программного обеспечения. Для улучшения качества программного обеспечения используются специальные программы, цель которых — обнаружить ошибку в целевом приложении, собрать всю необходимую информацию о ее симптомах и отправить отчет через Интернет разработчикам данного программного обеспечения.
Например, утилита Dr Watson интегрирована в операционную систему Windows и по умолчанию обнаруживает ошибки в приложениях пользователей и отправляет отчет на специальный сервер Microsoft. Аналогичными библиотеками являются, например, Breakpad [2] и CrashRpt [3] .
Использование в Интернете
Интернет-жаргон, в основном, состоит из различных языков. Например, термин «feature» переводится как «характеристика». Он ассоциируется у пользователей с дополнительными возможностями программы или игры.
Игровые блоггеры часто обращают внимание на ошибки разработчиков. Отправляя жалобу разработчикам, они просят их исправить ошибки.
Те, кто живет в Интернете, не могут жить без новых слов
Чем больше развивались компьютеры, тем больше «ошибок» использовалось в языке Интернета. В результате появились новые термины и понятия для сокращения текстов.
Другие определения
Существует версия, согласно которой жуки — это монстры детской литературы. Некоторые британские и американские родители пугают своих детей, потому что они непослушны. В русском варианте монстры — это гопники. Мамы и бабушки также вспоминают о них, когда хотят напугать своих детей. Внешне они выглядят по-разному.
В народе их описывают как волосатых монстров со свалявшейся шерстью. Они похожи на темных медведей. Американские мультфильмы хорошо описывают таких существ. Дети считают, что жуки лазают по дымоходам, прячутся за шкафами и в темных местах. Такая поездка показывает, что у этого слова много значений.
Жук — злодей среди ужастиков для детей
Примеры использования
Этот термин чаще всего используется людьми, занимающимися тестированием программного обеспечения. Его также можно использовать для тестирования устройства. Программист также является человеком и может совершить ошибку. Игра или программа, в которой есть ошибки, представляется тестеру. Все анализируется тестером и указывается на ошибки. Если он сталкивается с ошибкой, он немедленно сообщает об этом и называет это ошибкой.
Интернет-сленг быстро развивается. Каждый день пользователи придумывают новые выражения и слова для облегчения общения. Большинство из них заимствованы из иностранных языков, особенно из английского.
Одним из иностранных слов является слово «баг», которое часто используется в разработке. Он незаменим для разработчиков.
Этот термин появился очень давно, когда еще не было компьютеров. Баг был физическим; он означал отказ устройства, вызванный внешним фактором. Сегодня этот термин используется во всех областях, часто в связи с компьютерами.