avva: (Default)
avva ([personal profile] avva) wrote2007-08-15 11:45 pm

о простоте

Помните, у Чапека есть замечательный рассказ о полицейском, у которого все расследования разрешались очень банально. У его коллеги - то международный шпионаж какой-нибудь, то мафия, то безответная любовь миллионерши, а у него, куда ни ткни, все выходит - по пьяни или из-за денег. И он огорчается, вот, говорит, просто у меня фантазии нету, поэтому и получается все так банально.

Вот у меня так с багами, только наоборот. Сегодня нашел и починил хитрый баг. Один класс неправильно следил за тем количеством памяти, что он использует, в написанном для его проверки тесте была совершенно другая ошибка, из-за которой он тоже, получалось, неправильно интерпретировал то, что класс говорил о своей памяти. В итоге две ошибки накладывались одна на другую, и тест совершенно случайным образом проходил.

Вот я и думаю. Не то чтобы очень часто, но и нередко мне попадаются такие баги: сложные, за которыми надо долго охотиться, возникающие в результате нетривиального переплетения разных систем (этот конкретный - еще ерунда по сравнению с тем, что бывало). Может, это просто у меня фантазия такая слишком бурная. А кто-нибудь другой на моем месте нашел бы тривиальную ошибку на сдвиг-на-единицу, или там = вместо ==.

Проще типа надо быть.
nine_k: A stream of colors expanding from brain (Default)

[personal profile] nine_k 2007-08-15 09:22 pm (UTC)(link)
:D

Солипсизм за углом :)

[identity profile] indiffer.livejournal.com 2007-08-15 09:30 pm (UTC)(link)
проще не проще, а баги сами нас находят :)

кстати, вы как програмёр оцените - http://indiffer.livejournal.com/480230.html?mode=reply

[identity profile] mike67.livejournal.com 2007-08-15 09:36 pm (UTC)(link)
Не понял: в итоге тоже по пьяни? или из-за денег?

[identity profile] avva.livejournal.com 2007-08-17 01:43 pm (UTC)(link)
И то и другое, в общем :)

[identity profile] mike67.livejournal.com 2007-08-17 01:52 pm (UTC)(link)
Вы не должны этого стыдиться! :)

[identity profile] egorfine.livejournal.com 2007-08-15 09:43 pm (UTC)(link)
Е-мое, это просто сказка какая-то! Оцените, с какой сочной багой я сегодня имел дело: http://egorka.livejournal.com/272267.html (http://egorka.livejournal.com/272267.html).

[identity profile] -pk-sly.livejournal.com 2007-08-15 10:02 pm (UTC)(link)
это самое интересно!

только начальству потом тяжело объяснять, ЧТО я делал с таким "простым" багом неделю 8)ё

[identity profile] tobe-determined.livejournal.com 2007-08-16 01:35 am (UTC)(link)
that's the hard truth :)))
тем более когда это не bug, а feature ;))

[identity profile] gholam.livejournal.com 2007-08-16 03:36 am (UTC)(link)
Про управление памятью :)

http://support.microsoft.com/kb/940105

[identity profile] kot-begemot.livejournal.com 2007-08-16 03:44 am (UTC)(link)
Самый, пожалуй, неожиданный баг попался мне на самой заре моей программистской карьеры. Неожиданность его заключалась в том, что он затрагивал настолько базовые вещи в дискретной математике, что иначе чем помойкой в моей голове его нахождение я объяснить не могу.
Ситуация была следующая: имелся код, строивший некие гистограммы. Иногда (редко) этот код по непонятной причине циклился или выдавал какую-то фигню, вместо нормальной картинки.
В процессе поиска было обнаружено, что циклится/выдаёт глюкавый результат библитечная функция qsort(). Причиной же этого оказалось то, что последний параметр (функция сравнения для элементов массива) на одном очень маленьком подмножестве значений терял транзитивность...
Дискретка 101 - и кому бы в голову пришло?

[identity profile] plakhov.livejournal.com 2007-08-16 06:52 am (UTC)(link)
Более чудовищный вариант того же бага: http://dtf.ru/forum/flat.php?id=13368

That's gamedev :)

[identity profile] avva.livejournal.com 2007-08-16 08:54 am (UTC)(link)
Хаха :)

Классическое

[identity profile] valshooter.livejournal.com 2007-08-16 04:34 am (UTC)(link)
Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задания.

[identity profile] plakhov.livejournal.com 2007-08-16 06:57 am (UTC)(link)
Это не из-за сложности, а из-за честности. Почти любой загадочный баг можно "исправить", навесив на код дополнительную логику (вот в такой ситуации выдает A, а должен B? вставим условие "if такая ситуация return B").

Тесты проходят, задача выполнена, менеджеры довольны. Хотя по существу ничего не изменилось.

[identity profile] tobe-determined.livejournal.com 2007-08-16 12:36 pm (UTC)(link)
прально, окутаем всё try ... catch ... и никаких багов :)))
nechaman: (Default)

[personal profile] nechaman 2007-08-16 08:06 am (UTC)(link)
:))

[identity profile] millkshake.livejournal.com 2007-08-16 08:27 am (UTC)(link)
А кто-нибудь помнит, как рассказ называется?
Баги-то меня мало интересуют ))

[identity profile] millkshake.livejournal.com 2007-08-16 03:24 pm (UTC)(link)
timur0, спасибо большое ;)

[identity profile] sergiej.livejournal.com 2007-08-16 09:24 am (UTC)(link)
У меня такая же фигня, только со спецификой, я часто работаю на интеграционных проблемах, так вот у меня "фантазии" хватает нарываться постоянно на баги которые одновременно в двух или трёх системах сидят. Жёстче всего когда бывает банальный и абсолютно кошерный фикс, который нарывается на то что к предфиксовому "неправильному" функционалу в других системах давно привыкли, "заворкараундили", и такой фикс вызывает цепную реакцию.

существенная поправка

[identity profile] elcour.livejournal.com 2007-08-16 09:43 am (UTC)(link)
Он не огорчался. Он гордился!
И со снисходительностью служивого взирал на молодого романтически настроенного коллегу.

баги

(Anonymous) 2008-03-04 10:09 am (UTC)(link)
Неужели нет более насущных вопросов в жизни?