Bugs Occam's Razor

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Для каждого принятого объяснения явления может существовать крайне большое, возможно, даже непостижимое, количество возможных и более сложных альтернатив. Принцип простоты, также известный как бритва Оккама, подразумевает, что мы предпочитаем самое простое объяснение. Например, “Я не могу открыть дверь и не могу присутствовать на встрече” является описанием проблемы, которую можно упростить до “Я не могу открыть дверь”, не потеряв при этом никакой информации, которая может быть важна для тех, кто ждет меня в переговорной комнате. Я предлагаю применить тот же принцип к отчетам о найденных ошибках.

Допустим, я разрабатываю простой императивный язык программирования, и вы отправляете мне этот отчет об ошибке:

Теперь мне нужно исследовать и выяснить, какой оператор не работает: может быть, сложение не работает, или присваивание, или деление. Я не знаю, и мне придется отлаживать/тестировать, чтобы выяснить… Я. Не ты. Почему не ты?

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

Конечно, тебе не нужно проводить тестирование внутренних механизмов моего кода и находить причину ошибки, но на поверхности API ты должен делать свою работу и заключить, что оператор вычитания не работает:

Здесь вы уменьшили объем дефекта до гораздо меньшего. Вы выполнили свою “домашнюю работу” и выяснили, что неисправным является только один конкретный оператор в моем языке программирования: вычитание. Вы сэкономили мое время и увеличили шанс на то, что ваше сообщение об ошибке будет исправлено скорее, а не позже.

В общем, я считаю, что эту работу по оптимизации ошибок должны выполнять отчетчики, а не владельцы продукта. Я бы даже сказал, что это может быть вполне допустимой причиной отклонения сообщения об ошибке: отчет не является наиболее простым возможным.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 14:52

sixnines availability badge   GitHub stars