freeitevent | бесплатные IT мероприятия с 2017 года
@freeitevent в Telegram

Как читать чужой код: навык, которому не учат на курсах

2026-03-04

Не пропустите бесплатные IT мероприятия

Подписывайтесь на Telegram-канал — анонсы митапов, конференций и хакатонов каждый день

Подписаться

Почему чтение кода важнее написания

Разработчик читает код в 10 раз больше, чем пишет. На новой работе первые недели — это чтение существующей кодовой базы. При код-ревью — чтение чужих изменений. При исправлении бага — чтение кода, который написали год назад. Но ни один курс этому не учит. Все учат писать, никто — читать. А между тем это ключевой навык, отличающий джуниора от зрелого специалиста.

Подход к незнакомому проекту

Открыли репозиторий на 200 файлов — с чего начать? Не с первого файла по алфавиту.

Шаг 1: Общая картина

Прочитайте README. Посмотрите структуру папок. Какой фреймворк? Какая архитектура (MVC, микросервисы, монолит)? Где точка входа (main, index, app)? Цель — за 15 минут получить карту территории, даже если она неточная.

Шаг 2: Запустите проект

Перед чтением кода запустите приложение. Потыкайте в интерфейс, посмотрите API-эндпоинты, прочитайте логи. Понимание того, что делает программа, кардинально меняет восприятие кода.

Шаг 3: Следуйте за запросом

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

Шаг 4: Git-история

git log --oneline расскажет историю проекта. Последние коммиты покажут, какие части активно разрабатываются. git blame на конкретном файле покажет, кто и когда менял каждую строку — полезно, когда хочется спросить автора «зачем?».

Стратегии чтения

Сверху вниз

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

По тестам

Если в проекте есть тесты — читайте их. Тесты — лучшая документация. Они показывают, как код должен использоваться, какие входы ожидаются и какие результаты считаются правильными.

По изменениям

Если нужно понять недавнее изменение — используйте git diff. Pull request на GitHub/GitLab часто содержит описание того, что и зачем было сделано.

Инструменты

  • IDE с навигацией. «Go to Definition», «Find Usages», «Call Hierarchy» — используйте их постоянно. Чтение кода в блокноте — мазохизм
  • Дебаггер. Поставьте точку останова и пройдите код пошагово. Увидите реальные значения переменных и реальный порядок выполнения
  • Диаграммы. Рисуйте схемы на бумаге или в Miro. Визуализация связей между модулями помогает удержать картину в голове

Частые ошибки

  • Пытаться понять всё сразу. Проект на 500 000 строк невозможно прочитать целиком. Понимайте нужный вам фрагмент
  • Осуждать код. «Кто это написал?!» — бесполезная реакция. Код писали в контексте, который вы не знаете: дедлайны, легаси, ограничения. Сначала поймите — потом улучшайте
  • Не делать заметки. Пишите короткие комментарии для себя, рисуйте схемы. Через неделю вы забудете половину — заметки помогут

Как тренироваться

Читайте open source проекты. Начните с небольших — инструменты на GitHub с 500–2000 звёзд обычно имеют понятную структуру. Участие в open source и хакатонах заставляет работать с чужим кодом в боевых условиях. Мероприятия для разработчиков — на freeitevent.ru.

Не пропустите бесплатные IT мероприятия

Подписывайтесь на Telegram-канал — анонсы митапов, конференций и хакатонов каждый день

Подписаться