EN Прислать проект
Все статьи

Как разобраться в чужом коде за первую неделю

Как разобраться в чужом коде, не сломав продакшн: запуск локально, карта проекта, поиск того, что реально используется, и первые безопасные правки.

· 4 минКод

Тебе достался проект: его писал фрилансер, агентство или ИИ-ассистент под чьим-то руководством, документации нет, а пользователи уже есть. Разобраться в чужом коде за неделю реально, если не пытаться прочитать его целиком. Читать весь код подряд — всё равно что учить город по справочнику улиц. Надо пройти по нему пешком.

Главное правило первой недели: ты ничего не улучшаешь. Ты смотришь, записываешь и запускаешь. Правки в продакшн — только если что-то горит.

День 1: запустить локально

Пока проект не запускается у тебя на машине, всё остальное — гадание. Склонируй репозиторий и попробуй поднять его так, как поднял бы новичок. Каждый шаг, на котором ты застрял, записывай: какой версии нужен Node или Python, какие переменные окружения, откуда взять ключи, какую базу создать.

Две вещи важны сразу:

  • Локальная копия не должна смотреть в боевую базу. Если в .env лежит адрес продакшн-базы — замени на локальную или тестовую до первого запуска.
  • Почта, оплата и прочие внешние сервисы в локальном запуске должны быть в тестовом режиме или выключены. Иначе одна кнопка «отправить» уйдёт настоящим людям.

К концу дня у тебя должен быть работающий проект и черновик инструкции, как его запустить. Это уже больше, чем было.

День 2: нарисовать карту

Теперь сверху вниз. Открой структуру папок и ответь на вопросы:

  • где точка входа: что запускается первым;
  • где маршруты: какие страницы и какие эндпоинты API существуют;
  • где модель данных: таблицы, схемы, миграции;
  • какие внешние сервисы вызываются и откуда.

Хороший приём — выписать список таблиц в базе и рядом с каждой отметить, какие файлы её читают и пишут. Поиск по проекту (grep -rn "orders" или поиск в редакторе) даст это быстрее, чем чтение. В итоге получится грубая схема на одну страницу. Она будет неточной, и это нормально — ты её уточнишь.

ИИ-ассистент здесь полезен: попроси его описать, что делает папка или модуль. Но проверяй каждое утверждение по коду — он уверенно рассказывает и то, чего там нет.

День 3: пройти по главным сценариям

Возьми три-четыре действия, ради которых продуктом пользуются: регистрация, покупка, создание главной сущности. Пройди каждое в интерфейсе и параллельно проследи в коде путь запроса: кнопка → обработчик → API → база → ответ.

На этом шаге становится понятно, какие части живые, а какие лежат рядом просто так. Записывай странности: проверка прав только в интерфейсе, цена, которая приходит из браузера, два почти одинаковых обработчика. Чинить пока не надо — только список.

День 4: найти то, что реально используется

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

  • посмотри логи сервера и аналитику: какие маршруты вызываются, а какие нет;
  • поищи использования функции или компонента по всему проекту;
  • проверь историю файла в git: когда его трогали последний раз и зачем;
  • спроси тех, кто был до тебя, если они на связи.

Ничего не удаляй. Просто пометь в своих заметках: «похоже, не используется, проверить».

День 5: первые безопасные правки

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

Цель не правка, а проверка процесса: как собирается проект, как выкатывается, как откатить, если что. Лучше узнать, что деплой занимает сорок минут и требует ручного шага, на опечатке, чем на срочном исправлении в пятницу вечером.

Итог: что значит разобраться в чужом коде

Работающая локальная копия, инструкция по запуску, карта проекта на одну страницу, список главных сценариев с путями в коде, список подозрительных мест и проверенный путь выкатки. Это и есть основа для README и для плана, что чинить первым.

Коротко

  • Разобраться в чужом коде быстрее через запуск и сценарии, чем через чтение файлов подряд.
  • Первым делом отключи локальную копию от боевой базы и боевых сервисов.
  • Нарисуй карту: точка входа, маршруты, таблицы, внешние сервисы.
  • Живой код отличай от мёртвого по логам, поиску использований и истории git, но пока ничего не удаляй.
  • Первая правка должна проверять процесс выкатки, а не код.

Если нужен второй взгляд на доставшийся проект, SUBXCAT делает такой разбор вместе с командой.

Хочешь, сделаем это за тебя?

Расскажи о проекте ассистенту — через пять минут будет примерная смета, через 48 часов разбор.

Созвон с командой 20 минут: инженер, дизайнер и маркетолог посмотрят на проект вместе с тобой.
Записаться на звонок