1. Почему «чтоб само» — не постановка
— Сань, слушай, — Тёма влетает с горящими глазами, почти тем же тоном, что вчера с радаром. — Сделай, чтоб мои запросы сами куда-нибудь записывались, ты же можешь.
Саня восторг не подхватывает — спокойно начинает резать мечту на скучные куски:
— На какое событие реагировать? Когда ты отправил запрос — или когда правка применилась? Это два разных момента. Что писать в файл — весь твой текст целиком или только время? Ответ агента тоже? В какой файл? Строчкой, таблицей — в каком виде?
— Ну… чтоб само писалось. Ну… что я просил, — Тёма открывает рот на первом вопросе и вязнет. Чёткого ответа нет ни на один, каждый упирается в туман.
— Опять двадцать пять, — выдыхает он. Знакомо со вчера: это не задача, это настроение. Саня не вредничает — он буквально не может начать, пока Тёма сам не решит эти скучные «что / когда / куда». Магия снова требует постановки.
Делать нечего, он идёт к Лёхе. Тот теорию не разводит, отвечает лениво, в духе дня:
— Под такое есть своя мелкая бумажка, спека хука — HOOK_SPEC. Три графы: какое событие, какое действие, куда писать.
И всё. На этом объяснение кончается — остальное Тёме предлагается дотащить самому.
2. Три графы спеки: событие, действие, куда писать
Опять документы? Да что же это такое — Тёма сегодня встал не с той ноги:
— Леха, тебя мама в детстве в чан с бюрократами не роняла? Откуда у тебя такая любовь к бумажкам? То отчеты, то запросы, теперь спецификации.
— Вырастешь - поймёшь, — отбривает Леха.
Тёма вздыхает и молча соглашается двигаться дальше:
— А «куда писать» — это куда вообще? В какой именно файл?
— В обычный текстовый журнал снаружи, — кивает Лёха. — Простой файл, лежит рядом с проектом, пополняется сам. Не база, не хранилище, просто строчки подряд.
Этого хватает. Тёма собирает спеку сам, своими руками:
# HOOK_SPEC
СОБЫТИЕ: я отправил запрос агенту
ДЕЙСТВИЕ: записать время и сам запрос
КУДА: requests.log
— Три строчки — и я больше никогда не угадываю, — Тёма любуется спекой, как будто аферу провернул. requests.log — то, на что можно опереться: не гадать «какой блок был вчера», а открыть файл и прочитать — вот, в 14:30 просил вернуть прошлый вариант тикера. — И главное, я пальцем шевелить не буду, а оно само пишется. Вот это я понимаю, спека для ленивых.
3. Не весь разговор, а запросы плюс пометки
Тёму, как всегда, тянет на большее:
— А давай вообще весь разговор целиком писать, каждое слово — и моё, и агента. Чтоб уж точно ничего не потерять.
Лёха тут впервые за день надавливает — не как друг, а как тот, кто это уже проходил:
— А зачем тебе весь поток? Подумай. Если писать дословно всё подряд — каждое «ага», «нет, не так», «а теперь синее» — через день у тебя будет не журнал, а свалка. В ней искать ту самую удачную версию будет так же тяжело, как сейчас в истории сессии. Полная стенограмма быстро становится мусором, в котором тонет смысл.
— И правда, — Тёма как раз сегодня утром в таком потоке и захлебнулся: история сессии была, каждое слово на месте — и толку ноль, нужное в ней не найти. Полная стенограмма у него, считай, уже есть. И бесполезна ровно потому, что полная.
— Понял, — сдаётся он. — Чем больше пишешь, тем хуже ищется. Парадокс какой-то.
— Не парадокс, а здравый смысл, — Лёха не отступает. — Тебе же не дословный фильм нужен, тебе нужно потом быстро найти «вот тут мы решили так». Поэтому пишем не всё, а запросы плюс короткие ключевые пометки — на чём в итоге сошлись, какое решение приняли. Не «весь фильм», а оглавление с закладками. Фильм можно и в истории сессии посмотреть, если совсем приспичит. А оглавление — это то, чего у тебя сейчас нет.
— Вот это уже журнал решений, — соглашается Тёма. — Открыл, увидел: просил то-то, решили вот так. Без перечитывания всего подряд. Будь у меня такой утром — я б тот блок тикера за десять секунд нашёл.
4. Один проект, а не вся магия мира
Тёму уже несёт:
— Раз можно вешать авто-действия — давай навесим сразу всё! И сводку по радару пусть собирает, и форматирует, и проверяет, и ещё десять чудес. Выжмем максимум, так сказать. Что думаешь?
Он на ходу выдаёт пять идей подряд, каждая кажется ему гениальной. Лёха притормаживает — не из вредности, а чтоб первая победа вышла чистой:
— Стоп, не распыляйся. Накидаешь сразу пять таких «оно само» — ни одно толком не прочувствуешь, и если что-то пойдёт криво, не поймёшь, которое из пяти виновато. Сегодня делаем одну штуку, но так, чтоб ты её прожил насквозь.
— А почему именно лог? — Тёма не понимает, чем его сводка хуже.
— Потому что он самый наглядный из всех, — Лёха не отступает. — С остальными ты результат увидишь когда-нибудь потом. А с логом — прямо сейчас, своими глазами: отправил сообщение — в файле строчка, отправил ещё — ещё строчка. Ты буквально смотришь, как оно само работает. Для первого раза это важнее всего — увидеть магию вживую, а не поверить на слово. А ложится это идеально на твои живые штуки — радар, тикер: потом как раз пригодится вспомнить, что ты там заказывал и когда. Польза не выдуманная — ровно под твою утреннюю боль.
Остальные хотелки — авто-сводку, прочие мелкие чудеса — Лёха откладывает на потом, как сладкое, когда Тёма войдёт во вкус после первой победы. И мимоходом, очень тихо, роняет:
— Привычка фиксировать, что происходило и когда, — однажды очень пригодится. Сейчас просто полезно. Но запомни, что у тебя теперь есть такой инструмент.
— Ага, удобно, — Тёма кивает рассеянно, ещё один плюсик гению лени, и тут же о другом: — Слушай, а как оно вообще работает? Чтобы я в целом понимал, что от него ждать.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ