Бывают случаи, когда программист явно делает осознанный выбор в своей структуре кода, что приводит к поведению, которое (в лучшем случае) неинтуитивно, но технически не является ошибкой в том, что оно не работает.Должно ли это быть классифицировано как ошибка и исправлено?
Например, хорошо известная система электронной коммерции с открытым исходным кодом (если вы посмотрите мою историю ответов, вы поймете, какая из них!) Предоставляет функциональные возможности для увеличения количества, где администратор может указать несколько единиц, которыедолжны быть добавлены в корзину (например, должно быть 5, 10, 15, 20 и т. д.).Код написан так, что эти ограничения применяются только тогда, когда система находится в режиме «Управление запасами» (т. Е. Уровни запасов уменьшаются с каждым заказом).Теперь вполне допустима ситуация, когда владелец магазина может продавать свой продукт с определенными приращениями, но не управлять уровнем запасов.Код игнорирует конфигурацию в режиме без вывода сообщений (без обратной связи с администратором), и нет документации о необходимости включения функции управления запасами.
Это ошибка?Или просто плохой дизайн / документация.
Обратите внимание, я уверен, что некоторые читатели воспримут этот вопрос как субъективный, но я думаю, что между ошибками и плохим дизайном есть существенное различие.Это особенно актуально в проектах с открытым исходным кодом, где отчеты об ошибках, как правило, работают в разных процессах, чем внутренние системы компании.