// личный канал‑лог
gavrilovlog
← все записи

Dogfooding

👁 6823
Есть такой термин в разработке - dogfooding. Буквально "есть собственный корм для собак". Появился в Microsoft в 1988 году, когда один из менеджеров написал внутреннее письмо с призывом использовать свои же продукты. Смысл простой - если ты делаешь продукт, но сам им не пользуешься, ты не знаешь где он болит. У меня сейчас происходит забавная ситуация. Я делаю один проект, если коротко, то это инструмент для управления API-контрактами между сервисами. И сегодня я начал использовать этот проект, для того чтобы управлять API-контрактами этого же проекта. То есть продукт документирует сам себя. И вот что особенного в этом подходе. Когда ты пишешь инструмент для других - ты думаешь абстрактно. "Ну тут пользователь нажмёт, тут выберет, тут увидит результат". Звучит логично. А когда сам садишься и пытаешься через свой же интерфейс опубликовать реальный контракт с 40+ эндпоинтами - сразу вылезает всё. Тут неудобно. Тут непонятно. Тут вообще зависает. Баги, которые сложно найти через тесты - нашлись за 10 минут реального использования. Мне кажется, dogfooding это самый честный вид тестирования. Потому что ты не проверяешь "работает или нет". Ты проверяешь "хочу ли я этим пользоваться сам". Если ответ нет - то намного вероятнее, что и другие не захотят.
1743