Ещё не встав, Тёма по привычке тянется к телефону. В чате с Артём2036 — свежая картинка.
— Ха, — фыркает Тёма в подушку. — Знакомый кадр.
Сам такой был, пока курс не выбил привычку лезть везде разом. Смешной прикол про чужого дурака — одну дверь просили, а он всю квартиру уделал. Тёма закрывает чат и тянется к ноутбуку. Там дела, а не комиксы про маляров.
На работе Антон скидывает задачу без особой торжественности: в launch-портале есть partner-зона — блок спонсоров и партнёров, — и там в одном месте надо поправить мелочь. Не переделать, не улучшить, именно поправить одну конкретную штуку. «Зайди аккуратно, тронь только это».
Тёма открывает файл — и рука с мышкой замирает. Он смотрит на экран секунду, другую. Скроллит вверх, скроллит вниз. И ловит неприятное: он не понимает тут вообще ничего. Ни одной знакомой зацепки.
— Это что вообще, — бормочет он вслух.
Раньше он открывал свой файл — и сразу был дома: вот стили шапки, вот логика кнопки, вот этот блок завязан на тот. А этот кусок писал внешний подрядчик, сдал и давно исчез. Имена классов чужие, структура сделана по чьей-то странной логике, комментарии обрываются на полуслове.
Тёма ведёт глазом по строчкам, как привык — по диагонали. Спотыкается на первой функции.
— Ты вообще что делаешь? — спрашивает он вслух у имени функции. Имя молчит, по нему не понять.
Перечитывает. Туман. Ниже строчка, которая выглядит лишней, — а может, на ней всё держится. В своём коде он бы знал ответ, там сам всё писал. Тут на каждый кусок — знак вопроса, и ни одного ответа.
— Отлично, — бормочет он в экран. — Свет выключили, и ходи на ощупь.
— С другой стороны, — продолжает он вслух. — Если я ничего не понимаю, не факт что Саня не справится...
И пересылает Сане просьбу Антона: вот тут поправь вот это. Но никаких границ не оговаривает — сложно это сделать в коде, который не понимаешь. Саня берется за работу, а Тема уходит в браузер на пару минут.
Возвращается через 20 минут — нужная правка на месте, всё верно. Тёма уже хочет сказать «готово, коммить» — и тут глаз цепляет, что дифф не на три строчки, как он ждал. Он на пол-экрана.
Тёма листает вниз. И ещё. Улыбка сползает.
Саня заодно переформатировал полфайла: переставил отступы на свой лад, причесал соседние куски, что-то переделал «для красоты», подровнял везде отступы. И даже переименовал пару функций. Целый блок сдвинут — вроде аккуратнее, но Тёма уже не уверен, что он стоял там не зря. Настоящая правка тонет в этой косметике, как иголка в стоге.
— Да ёлки, — выдыхает он. — Я ж тебя про одно просил.
И вдруг узнаёт, на что смотрит. Это же тот самый зверь из ночного лога — когда агент «заодно» переписал рабочий модуль и всё тихо поехало. Тогда он читал про это в чужом логе, постфактум, безопасно. А сейчас та же авария у него на глазах — да ещё в чужом коде, где он и не знает, что из этого «причёсанного» держало вёрстку.
— В своём бы откатил и забыл, — говорит он вслух. — А тут… — Он тычет в переименованную функцию. — Ты вообще где ещё торчишь? Кто тебя дёргает? — Функция молчит. Сломалось от переименования или нет — не сказать.
Рука зависает над клавиатурой. Откатить всё и зайти заново — жалко, нужная-то правка сделана. Выковырять лишнее руками — а отличит он лишнее от нужного в файле, где половина названий - пустой звук? Простая задачка, а на автомате не разруливается: автомат заточен под свой код, а тут чужой.
Он косится на телефон, где утром был комикс. Маляр, одна дверь — и уделанная квартира с котом. Утром — прикол про чужого дурака. Сейчас — его собственный экран.
Олег, проходя мимо, цепляет взглядом этот расползшийся дифф — и впервые за весь месяц не бурчит. Подрядческий код он узнаёт сразу: сам когда-то в таком копался. И вместо привычной колкости говорит непривычное:
— Слушай, давай помогу. Тут без опытного товарища легко влететь.
Тёма поднимает голову. Весь месяц Олег только хмыкал в сторону его «игрушек», держал дистанцию — а тут подошёл сам, и не подколоть, а помочь. Причём на своём поле: не про агентов и не про вайб, а про обычное ремесло — как в чужом файле за пять минут понять, где несущие куски, а куда лучше вообще не лезть. По чужому коду он лазил годами, руками, когда никаких агентов и в помине не было и карту приходилось строить в голове с нуля.
— Давай, — говорит Тёма. — Я тут реально плыву.
— Первое, что ты сейчас сделал не так, — Олег кивает на дифф, — это начал слишком резво. В своём коде можно быстро. Тут — нет. Тут скорость не экономит время, а закладывает мину.
Тёма не спорит. Он эту мину только что увидел собственными глазами. И впервые за день хочется не быстрее, а медленнее и чище.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ