Каким требованиям должен соответствовать заголовок баг-репорта?

Ответ

Заголовок (Summary/Title) баг-репорта — это его краткая и самая видимая часть. Он должен быть:

  1. Кратким и конкретным: Умещаться в одну строку, без лишних деталей.
  2. Информативным и уникальным: Позволять однозначно идентифицировать проблему среди других.
  3. Объективным: Описывать наблюдаемое поведение, а не предположения о причине.
  4. Структурированным (рекомендуется): Следовать шаблону [ГДЕ?] [ЧТО?] [ПРИ КАКИХ УСЛОВИЯХ?].

Хорошие примеры:

  • [Главная страница] Кнопка 'Отправить' неактивна после очистки обязательного поля 'Email'
  • [Корзина] Итоговая сумма рассчитывается некорректно при применении промокода 'SUMMER10'
  • [API /v1/users] Запрос POST возвращает 500 Internal Server Error при отправке пустого тела
  • [Моб. приложение, iOS] Краш при переходе из раздела 'Профиль' в 'Настройки' на устройстве с iOS 16

Плохие примеры и почему:

  • Не работаетСлишком общий. Что именно?
  • Ошибка в кнопкеНеинформативно. Какая ошибка и где?
  • Сервер упалСубъективно и неточно. Может быть, просто ошибка 5xx.
  • Баг в логике, нужно пофикситьСодержит предположение и указание к действию. Задача заголовка — описать проблему, а не ее решение.

Правильный заголовок экономит время всей команды на поиск, понимание и классификацию дефекта.

Ответ 18+ 🔞

Ну, слушай, смотри, как народ пишет заголовки для багов. Прям волнение ебать, честно. Сидишь, читаешь, и терпения ноль ебать.

Вот, например, пишут: «Не работает». Ну, блядь, спасибо, кэп! А что не работает-то, в рот меня чих-пых? Весь интернет? Кнопка? Или у тебя просто руки из жопы? Это ж как надо быть распиздяем, чтобы так написать!

Или вот: «Ошибка в кнопке». О, ёпта, гений! А в какой кнопке, сука? На какой странице? Какая, блядь, ошибка? Она не нажимается, исчезает или, может, на неё навестись — и приложение крашится, накрывшись медным тазом? Информативность — пиздец, да?

А мой любимый — «Сервер упал». Да не упал он, пидарас шерстяной! Может, он просто тебе 500-ю ошибку плюнул в ответ, потому что ты ему хуйню какую-то отправил. Ты хоть проверь, прежде чем такие диагнозы ставить!

Ну и верх идиотизма — «Баг в логике, нужно пофиксить». Во-первых, сам от себя охуел? Ты кто такой, чтобы указывать, что «нужно»? Твоя работа — проблему описать, а не архитектором системы становиться. Во-вторых, какая логика? Где? Ты же нихуя не объяснил!

А теперь, блядь, слушай сюда, как надо. Заголовок — это как лицо твоего бага. Его все увидят первым. Он должен быть таким, чтобы любой, кто его прочитал, сразу понял: «А, это про ту самую хуйню на главной!».

Делай так: [ГДЕ?] [ЧТО?] [ПРИ КАКИХ УСЛОВИЯХ?]. И всё, блядь. Красота.

Нормальные примеры, а не мудацкие:

  • [Главная страница] Кнопка 'Отправить' неактивна после очистки обязательного поля 'Email'
  • [Корзина] Итоговая сумма рассчитывается некорректно при применении промокода 'SUMMER10'
  • [API /v1/users] Запрос POST возвращает 500 Internal Server Error при отправке пустого тела

Видишь разницу? Никакой воды, одни факты. Место, проблема, условия. Идеально. Такой заголовок сэкономит всем — и тебе, и разработчику, и тестировщику — овердохуища времени и нервов. Потому что не придется тратить полчаса, чтобы понять, о какой, блядь, «кнопке» идёт речь.

Запомни: хороший заголовок — это уже полдела. А плохой — это прямой путь в игнор-лист и всеобщее презрение. Не будь мудаком, пиши нормально.