![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
ne_tru_e |
|
|||
![]() Приношу жертвы MS ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.1.2008 |
Хотелось бы узнать мнение настоящих программистов о том, различают ли они баги и ошибки, и если да - то как?
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
Баги и ошибки это сущности разного типа. Для того чтобы их различать, необходимо иметь некоторый функционал, который позволял бы их сравнивать. Как это сделать, мне кажется, это очень зависит от платформы на которой программируют настоящие программисты. Некоторые, для того, чтобы разаличать, наследуют класс, перегружают метод сравнения, некоторые перегружают оператор сравнения, кто-то переписывает функцию сравнения. Кто-то подтягивает нужный фреймворк, но это уже, наверное, не совсем настоящие программисты. ![]() Это сообщение отредактировал(а) Zloxa - 3.10.2013, 13:25 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Добавлю: как правило фунционал бага гораздо больше, чем фунционал ошибки. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
ne_tru_e |
|
|||
![]() Приношу жертвы MS ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.1.2008 |
Ну если говорить серьЁзно-присерьёзно, то я считаю ошибкой некорректную реализацию алгоритма, например, когда что-то написали неправильно и хотя программа работает, но работает не так, как следовало бы. А баг это некий неожиданный феффект на букву "э-э-э", выявленный при работе программы. Или я хрень несу и не очень прав? Смотришь на народ кругом, а они чуть что, сразу возгласы "О! Смотри, баг!", "баг-баг", "баг-баг-баг", и всё у них баг, и в голове жук, у которого только мысль со словом "баг". Потому что удобно сказать короткое слово "баг", чем потратить кучу времени на выговаривание слова "ошибка".
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
если говорить серьезно-присерьезно, то слову "ошибка" в программировании можно дать 100500 интерпретаций, в то время как баг - вполне определенный жаргонизм, который применяют к случаям, когда программный модуль, либо выполняет функцию, которая не соответствует требованиям/документации/ожиданиям либо же не выполняет функцию которая соответствует требованиям/документации/ожиданиям. Если взять в качестве примера упомянутую вами "не корректную реализацию алгоримтма", то она не является багом в том случае, если в результате ошибки алгоритм не выполняется, но его выполнение не обусловлено требованиями. В то же самое время, если бы алгоритм не содержал бы ошибки и выполнялся, делая не требуемое, это было бы баг. ![]() Это сообщение отредактировал(а) Zloxa - 3.10.2013, 17:17 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь |
Ошибка - это когда глядя на код, понимаешь, что там кое-что сделано не так, как надо. Можно это ассоциировать с опиской в грамматике. Вот к примеру, нужно обратиться к первому элементу в динамическом массиве Arr. В коде стоит обращение Arr[1]. Ошибка в явном виде, т.к первый элемент имеет индекс 0. Еще одним ярким примером может служить не правильно использованные операторы. Вместо "не равно" стоит "равно". Вместо ">" стоит "<" и т.д.
Баг - это не верное поведение кода. Зачастую это проявляется только при определенных условиях. При определенных входных параметрах, результатах работы других частей программы и т.п. Т.е. на первый взгляд код может показаться правильным, но при определенных условиях он выдаст совершено не тот результат, который ожидается. Самым ярким примером бага является использование деления без проверки делителя на не равность нулю. Такой код будет работать и может случится так, что будет работать долгое время. Но как только он получит 0 в делителе, все рухнет. Если ассоциировать эти понятия языков программирования с понятиями обычных языков, лингвистических. То ошибку я ассоциирую с опиской, а баг с не верным формированием предложения. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
Вопрос задан неверно (с ошибкой), так как нельзя сравнивать качественно разные понятия - баг и ошибку.
Из моего опыта: "ошибка" - признанный программистом факт несовершенства его навыков и/или знаний, при этом, неприменно, являющийся для всех объективной причиной некорректной работы его алгоритма. Пример: программист неверно написал алгоритм подсчёта CRC суммы, так как не прочёл мануал. "Баг" - довольно абстрактное и обширное понятие, которое всегда тесно связано с понятием "фича". "Баг и фича" - это один и тот же участок кода, который может быть воспринят менеджерами и программистами разного уровня и квалификации качественно по-разному. В зависимости от влиятельности оных на процесс разработки, данный участок кода может быть признан багом или фичей. по сути "баг и фича" это понятия, которыми оперирует не программист, а скорее архитектор системы или политическое понятие, которым оперирует высшее руководство компании. Пример: Майкросовт, старается все свои баги превратить в фичи, путём финансового давления на конкурентов... Но вот со стороны пользователей фичи Майкросовта - откровенные баги. Это сообщение отредактировал(а) CompWorm - 4.10.2013, 06:26 |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь |
Вот где не соглашусь. Не могу даже предположить как divizion by zero может вдруг превратиться в фитчу. Или функция Sum, которая должна суммировать аргументы, получающая на входе 1 и 3 и возвращающая при этом 5. Какой нужно быть квалификации, что бы сказать, что это фитча? -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City |
Poseidon, в iPhone при наборе номера нельзя его редактировать, это баг или фича?
![]() |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь |
Запрет делать что-то, ровно как и разрешение это делать - это всегда на усмотрение разработчика. Если Apple решили сделать так, то это фитча. А вот если бы ты набирал номер 123, а вызов шел на номер 321, то это баг. Правильно написал Zloxa:
В документации нет ни строчки о том, что пользователь должен иметь возможность редактировать номер - значит это фитча. Вот если бы там была описана эта возможность, то это было бы багой. Но я не знаю не одной документации, где писалось бы "При вводе значения 0 программа должна аварийно закрываться". -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Во, блин, сколько у нас настоящих программистов оказывается
![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
bug - это на буржуйском, а ошибка - на нашем ![]() Добавлено через 4 минуты и 57 секунд
у эплов нет ошибок, это же давно известно и эпл лучше знает, что тебе нужно если эпл сказала тебе, что редактировать телефон - это лишнее, значит так оно и есть ![]() человеку ненужен лишний функционал от той или иной программы/устройства..... |
|||
|
||||
Zloxa |
|
||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
Нет. Это лишь "not a bug". Фичей это было бы если бы в документации было явно прописано, что пользователь не имеет возможности редактировать номер.
Однако если, скажем в ТЗ, есть упоминание о том, что значение не должно равняться нулю, но четко не прописано чем это должно быть обеспечено, это не баг. Это сообщение отредактировал(а) Zloxa - 4.10.2013, 11:48 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||
|
|||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
То, что посейдон называет ошибкой, я склонен называть "косяками". Скорее всего "что-то не так сделано" либо от неведния или же от избыточного ведения. Врядли это можно называть ошибкой. То, что компворм называл ошибкой, я склонен называть багом. Да, он появился в результате ошибочных действий программиста, возможно в результате ошибочной трактовки задания/документации или чего-то там еще. Можно сказать что "программист допустил ошибку при реализации алгоритма". Но неврено работащий алгоритм квалифицировать как "ошибку" - нельзя. Это либо баг либо нет. Впрочем, про слово "ошибка" я уже высказывался. В сугубо моем личном понимании слово "ошибка" в области информационных технологий интерпретируется не иначе как "Информационное сообщение об исключительной ситуации, требующее особого внимания". -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City |
Знакомый работает в IBA, у них есть понятие "дефект"
![]() Если серьезно, то баг, ошибка, дефект это все одно и тоже. Просто в разных компаниях, по разным причинам применяются различные названия, но суть это не меняет. ![]() Всегда ваш, К.О. |
|||
|
||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |