«Это не баг, а несуществующий кейс»
Понравилась фраза в Твиттере у Вадима Макеева — «это не баг, а несуществующий кейс».
За прошедшие годы я вполне научился понимать, что не все баги нужно править, а эта фраза поможет в некоторых случаях быстро донести эту мысль до других. Правда, как это часто бывает с такими высказываниями, тут большое поле для трактовок. У меня есть понимание, что не все баги надо править, но так же я понимаю, что наткнувшись на «несуществующий кейс» нелишне узнать почему в этом случае программа ведёт себя неожиданно.
Например, если
Иногда при попытке разобраться получаешь неожиданный опыт, который пригодится в будущем.
Резюме. Моё мнение такое: не все баги надо править, но все — исследовать.
Комментарии 15
1) не являющиеся критичными (в условиях сжатых сроков)
2) проявляющихся в условиях, которые не достижимы в штатном режиме (например, через FireBug
3) не являющиеся таковыми («файл program.exe, который я скачал с вашего сайта, не запустился на моём „Маке“»)
В t → ∞, конечно все.
#840: Закрепляющее + слабительное
Серьёзный космический проект. Интегрируется система дифференциальных уравнений движения спутника. С точки зрения программеров — примитивное консольное приложение, которое периодически выводит в левый верхний угол экрана время, в течение которого летает спутник, и его координаты. Все данные мы сверяем с аналогичной программой, созданной в другом институте — так сказать, проверяем друг друга на вшивость.
Всё бы хорошо, но время от времени спутник «прыгает назад» во времени часов на двенадцать. При этом в каждый момент времени он по нашим расчётам находится там, где и должен быть — вроде как ошибок нет.
Однако временные скачки напрягают, и после изучения кода я таки нахожу баг — даже и не баг, а глупую опечатку. Исправляю, запускаю прогноз движения… и спутник «улетает» со свехсветовой скоростью за пределы галактики!
Восстанавливать старый код смысла нет. Продолжаю поиски и через час нахожу второй баг, который полностью компенсирует влияние первого. Между двумя ошибками и стоял оператор вывода информации на экран.
С тех пор я помню: при отладке программер, как правило, наблюдает сложный результат интерференции нескольких багов и исправление одного из них не всегда меняет ситуацию в лучшую сторону.
http://mihschool-1-11a.ucoz.ru/publ/1-1-0-7
У меня офигенный опыт. Смешно читать про «кейсы».
Могу рассказать детальнее, но не публично же.
Да и у меня офигенный опыт. Ничего смешного не вижу.