Согласно Wikipepdia,
Программная ошибка - это общий термин, используемый для описания ошибки, ошибки, ошибки, сбоя или ошибки в компьютерной программе или системе, которая приводит к неверному или неожиданному результату или приводит к непреднамеренному поведению.
Недавно я обнаружил «ошибку» в StarCraft 2, которая дает неожиданный результат: http://eu.battle.net/sc2/en/forum/topic/2868627470
Проблема в том, что, если я продолжаю сворачивать StarCraft 2 в течение длительного времени, игра не отключается и не генерирует какую-либо форму тайм-аута. Однако после первого боя он отключается, а иногда и теряет игровые данные (статистика матчей).
К сожалению, по словам Blizzard:
Игра не предназначена для минимизации в течение такого длительного периода времени. (Blizzard) не может считать такое поведение ошибочным, поскольку StarCraft II не предполагается минимизировать в течение нескольких часов.
Итак, моя «ошибка» действительно ошибка?
источник
Ответы:
Для команды разработчиков ошибка - это проблема программного обеспечения, которую необходимо исправить. Не все программные проблемы должны быть исправлены.
Обновление программного обеспечения стоит дорого. Blizzard говорит вам, что ваша проблема - крайний случай. Другими словами, обнаруженная вами проблема крайнего случая не обязательно является тем, что они проверяли или иным образом заботятся о том, чтобы объяснить. Решение проблемы поможет вам, но, по всей вероятности, не поможет многим другим. Тем не менее, стоимость исправления ошибки может быть высокой. Вместо этого они могут инвестировать свои ресурсы в новые функции или даже закончить Diablo III.
источник
Этот вид напоминает мне кота в микроволновке , особенно случай миссис Смит в 1983 году.
Дело в том, что вы ожидаете, что продукт будет работать таким образом. Главным образом потому, что несколько подобных продуктов работают так, например, если вы минимизируете их на несколько часов, а затем открываете, они работают (хотя обратное не так уж редко, как вы думаете).
Миссис Смит по своему опыту знала, что высушивание кошек в духовке не причинит им вреда (конечно, при условии осторожности). Точнее из опыта, который она имела со всеми духовками, которые она пробовала. Затем она предположила, что это будет то же самое для микроволновой печи, которую ей дали. Это предположение было неверным. Микроволновые печи не предназначены для сушки кошек. Как и обычные печи. Просто случается, что они не убивают кошку в процессе, как побочный эффект физических процессов, которые они используют для производства тепла.
Теперь, как производитель микроволн, вы можете поместить нагревательную катушку и ряд датчиков в микроволновую печь. Последний определит, является ли текущий контент кошкой и использует катушку вместо микроволн.
Таким же образом, чтобы можно было производить микроволновую печь, подходящую для сушки кошек, Blizzard могла бы создать версию SC2, которая была бы пригодна для того, чтобы оставаться в минимизированном состоянии в течение продолжительных периодов времени.
Лично я был бы готов заплатить больше денег за микроволновую печь с сушкой для кошек, просто для удовольствия (при условии, что впереди есть большой логотип с сушкой для кошек, на который я с гордостью могу указать). Но мне было бы наплевать на игру, которая может быть сведена к минимуму в течение нескольких часов.
SC2 был разработан для удовлетворения определенных требований. Ваше ожидание не является частью этого. Вы можете измерить SC2 относительно ваших ожиданий. Но будет ли Blizzard включать их всех в сферу своих требований, в конечном счете, это их выбор.
Все, о чем вы могли бы поспорить, это то, что это провал проекта. Здравый смысл подсказывает, что, если значительная часть пользователей не смущена дизайном или недовольна им, этого вполне достаточно. Я уверен, что если достаточно пользователей заявят, что они разделяют ваши ожидания, Blizzard уступит и включит их в дизайн. Это сделает вашу проблему настоящей ошибкой, а Blizzard исправит ее.
источник
Я думаю, что это случай, когда программное обеспечение не используется, как определено в спецификации. Они говорят
Что означает, что у них где-то есть определение того, что считается «длительным периодом времени». Если вы минимизируете программу более чем на «длительный период времени», она выходит за рамки их спецификаций и выходит за рамки того, что они тестировали (предполагая, что они формально заявили об этом), и они не гарантируют, что произойдет. Конечно, было бы неплохо, если бы где-нибудь в руководстве говорилось: «Мы тестировали эту программу только для минимизации в течение периодов времени, не превышающих 10 минут. Минимизируйте дольше, чем это, на свой страх и риск!».
Так что нет, я не думаю, что это действительно ошибка. В моем офисе это можно было бы назвать «проблемой обучения пользователей» (которая, я бы сказал, является формой проблемы со связью , потому что в этом случае потому, что пользователю не сообщалось максимальное время для минимизации времени), поскольку пользователь не использует программу должным образом. Не то чтобы это сильно помогло Blizzard, если они не поместили это в руководство ...
источник
Не ошибка Ошибка - это поведение, которое не соответствует спецификации. Если спецификация говорит, что вариант использования не поддерживается поведением, то любое поведение - воспринимаемое как допустимое или нет - в этом случае использования является «разработанным».
В этом случае игра, работающая вообще, может восприниматься как неопределенное поведение.
источник
Если бы я был руководителем группы разработчиков этого проекта, я бы назвал это ошибкой, но незначительной, поскольку она значительно превосходит обычные эксплуатационные ожидания программного обеспечения. Если бы над этим вообще работали, я бы, вероятно, поручил его младшему программисту или новому наему, скорее как учебное упражнение для них, чем что-либо еще.
Рекомендуется отслеживать эти незначительные ошибки, поскольку они могут указывать на потенциально более серьезные проблемы. Например, ошибка сохранения данных, с которой вы столкнулись. Это кажется незначительным из-за того, как это произошло, но могут быть и другие случаи, когда данные теряются. Используя систему сообщений об ошибках, вы можете найти все случаи, когда возникла подобная проблема, и посмотреть, есть ли общий элемент. В сложной системе документирование такого рода вещей может помочь вам найти более серьезные и тонкие ошибки.
источник
Я собираюсь не согласиться с большинством людей здесь.
Как бывший игрок Starcraft (оригинальный), я могу засвидетельствовать, что это (или было, по крайней мере) очень распространенное поведение. Пользователи выходят из игры 24/7, чтобы удерживать свои позиции в чатах, и присоединяются к играм, когда они снова возвращаются. Я уверен, что обновленный Battle.net имеет некоторые улучшения, которые могут уменьшить потребность в этом, но это все еще случается много.
Было бы гораздо разумнее, если бы вы не могли присоединиться к игре без повторного подключения, если ваш сеанс каким-либо образом, в той или иной форме истек. Тот факт, что он позволяет вам присоединиться к играм после того, как истек срок вашей сессии, является для меня ошибкой. Тревожная вещь здесь и кое-что, что еще не было затронуто, состоит в том, что разработчики должны понимать своих пользователей. Это вполне может быть крайний случай, но это крайний случай для очень преданных игроков, которым они должны быть готовы.
Технически, они могут утверждать, что это сделано по замыслу, и это не то, что они намерены исправить. Это все еще ошибка в моих глазах, которая в конечном счете зависит от того, классифицируют ли они это как ошибку. Это не значит, что игроки согласны.
Во всяком случае, я думал, что я бы поставил немного другой ответ, чем то, что было опубликовано до сих пор.
источник
Ошибка может быть разумно определена как «любое отклонение от предполагаемого поведения программного обеспечения».
Очевидно, что они (и это их программное обеспечение, так что они должны определить, как оно должно вести себя) никогда не предназначали программное обеспечение для обработки этого сценария, поэтому оно не соответствует этому определению ошибки.
Однако то, что я бы сказал, по крайней мере, неоптимальным является способ обработки этого состояния.
Мусор, мусор (то есть пользователь делает что-то глупое, плохое или неожиданное, а в результате происходит что-то плохое) считается плохим стандартом поведения. Я бы сказал, по крайней мере, он должен быть более элегантным в том, как он справляется с этим условием.
Так что не совсем ошибка, а плохая обработка крайнего случая.
Тем не менее, если бы я был ими, это не то, что я, вероятно, подумал бы, что стоит починить (слишком дорого за слишком маленькую выгоду), хотя я мог бы упомянуть об этом команде для дальнейшего использования, что они могли бы справиться лучше.
источник
Определение ошибки не имеет ничего общего с поведением программного обеспечения. Ошибка определяется на основе того, соответствует ли поведение программного обеспечения его намерениям. И кто скажет, что было задумано? (Поскольку я имею дело с программистами здесь, я поясню первое предложение - нет никакого возможного поведения программного обеспечения, которое само по себе представляет ошибку).
Имейте в виду, что обычно разработчики программного обеспечения должны исправлять ошибки. Таким образом, определение ошибки основано на том, что они хотят исправить. Например, «правильная работа более 50% времени - это функция, которую мы планируем выпустить в будущих версиях». Все можно определить как не являющуюся ошибкой, притворяясь, что программное обеспечение никогда не предназначалось для решения этой конкретной проблемы. Таким образом, на практике ошибка представляет собой чисто политическое соображение.
(Кроме того, это сокращает оба пути. Для клиента, который не должен платить за исправления ошибок, но должен платить за новые разработки), он не имеет функции, о которой я только что подумал, но которую я сейчас решено на 100% подразумевается тем, что я упомянул "явно ошибка.)
источник
Я бы не подумал не отключать ошибку. Это только ошибка, если он должен (по замыслу, намерению) отключиться, и это не так. Я бы назвал то, что вы отправили запрос на функцию.
Тем не менее, потеря данных после битвы - это может быть ошибкой. Я не знаю много о Starcraft, но я подозреваю, что это не так.
источник