код-ревью

Руки печатают на клавиатуре крупным планом

Рефакторинг легаси: как не сломать то, что работает

19.06.2026

В прошлом году мне досталась задача, которую многие разработчики боятся больше, чем писать код с нуля: привести в порядок модуль оплаты, которому было пять лет, без тестов и с единственным человеком в компании, который хоть немного помнил, как он устроен — и этот человек уже уволился. Вот к каким выводам я пришёл по итогам этой работы.

Первое правило: сначала понять, потом менять

Соблазн сразу начать переписывать код, который выглядит плохо, очень велик. Но за уродливым на первый взгляд кодом почти всегда стоит история — часто это накопленные исправления реальных багов и обработка граничных случаев, которые не видны из чтения кода поверхностно. Прежде чем менять что-то, я потратил неделю просто на чтение: git blame по ключевым файлам, старые тикеты, связанные с этим кодом, комментарии в коммитах.

Блокнот и печатная машинка на столе

Что я узнал, читая чужой код по вечерам

30.05.2025

Примерно год назад я взял за привычку раз в неделю по вечерам читать чужой код без всякой рабочей задачи — просто открывать случайный популярный open-source репозиторий и смотреть, как устроены решения, до которых сам бы не додумался. Привычка оказалась неожиданно полезной.

Почему не хватало кода с работы

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