Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Основы Code Review
Code Review·8 тем·64 вопроса·уровень Junior, Middle, Senior

Основы Code Review

Как проводить code review: порядок чтения диффа, приоритизация замечаний (blocker / major / nit), формулировки, которые автор принимает. Базовые категории проблем — баги, безопасность, производительность, тесты, документация — на уровне «что обязан заметить любой ревьюер». Разборы настоящих диффов с комментариями ревьюера.

Начать курс

Основы Code Review

Ревью — это не чтение кода. Это решение: что блокирует мердж, что стоит обсудить, а что нужно молча пропустить.

Чему учит курс

Разработчик, который знает язык, ещё не умеет ревьюить. Умение читать чужой дифф в незнакомом контексте, за двадцать минут находить в нём то, что действительно сломается в проде, и писать замечания так, чтобы автор их принял, — отдельный навык. Ему и посвящён курс.

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

Границы курса

КурсОтвечает на вопрос
Основы Code Review (этот)Как проводить ревью: порядок чтения диффа, приоритеты замечаний, формулировки
Code Review ProЧто искать в сложном коде: архитектура, конкурентность, БД, масштабируемость
Code Review для командыКак устроить процесс: SLA, метрики, культура, конфликты

Внутри этого курса безопасность и производительность разбираются на уровне «что обязан заметить любой ревьюер». Глубокий разбор — CWE, криптография, модели авторизации, кэширование и очереди — в Pro.

Программа

ТемаО чёмСложность
1. Принципы code reviewЗачем ревью, что оно ловит, а что не ловит; порядок чтения диффа; приоритеты blocker / major / nitJunior
2. Чек-листы качестваИменование, размер функций, уровни абстракции, читаемость; чем чек-лист помогает и когда мешаетJunior–Middle
3. Поиск баговЛогические ошибки, edge cases, обработка исключений, None/null, языковые ловушкиMiddle
4. БезопасностьИнъекции, XSS, секреты в коде, валидация ввода, небезопасные зависимостиMiddle
5. ПроизводительностьАлгоритмическая сложность, N+1, лишние I/O, аллокации в горячем путиMiddle–Senior
6. Проверка тестовЧто доказывает тест, качество assertions, over-mocking, хрупкостьMiddle
7. ДокументацияDocstrings, комментарии «почему», README, changelog, breaking changesJunior–Middle
8. Soft skillsКак формулировать замечание, как принимать критику, как выходить из спораВсе уровни

Как проходить

  1. Прочитайте теорию темы и разберите дифф в блоке «Разбор» — попробуйте сначала сами найти проблемы, потом сверьтесь.
  2. Ответьте на вопросы темы (8 вопросов, 64 на курс).
  3. Закрепите на тренажёре: Code Review Python и Code Review React — 57 фрагментов кода, в каждом несколько настоящих проблем и ложные следы.
  4. Проверьте себя на Арене: там вы пишете ревью свободным текстом, а не выбираете вариант.

Дальше

  • Code Review Pro — когда базовые категории проблем вы уже видите автоматически.
  • Code Review для команды — когда отвечаете не только за свои ревью, но и за процесс.
  1. 1

    Введение: принципы code review

    Зачем ревью и что оно не ловит, порядок чтения диффа, приоритеты blocker / major / nit

    8 вопросов
  2. 2

    Чек-листы качества кода

    Именование, размер функций, уровни абстракции, читаемость; когда чек-лист помогает, а когда мешает

    8 вопросов
  3. 3

    Поиск багов и логических ошибок

    Обнаружение багов, edge cases, обработка исключений, null-проверки

    8 вопросов
  4. 4

    Проверка безопасности

    Уязвимости, SQL-инъекции, XSS, секреты в коде, валидация данных

    8 вопросов
  5. 5

    Рецензирование производительности

    Алгоритмическая сложность, I/O операции, N+1 проблемы, оптимизации

    8 вопросов
  6. 6

    Проверка тестов

    Покрытие тестами, моки, assertion quality, edge cases в тестах

    8 вопросов
  7. 7

    Рецензирование документации

    Docstrings, комментарии, README, changelog, документация API

    8 вопросов
  8. 8

    Soft skills в code review

    Как давать feedback, этикет, работа с критикой, психология review

    8 вопросов
  9. Зачёт

    Доступен после всех тем (0 из 8)

  10. Экзамен

    Доступен после зачёта

15 / 15

Code Review

Основы Code Review

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

Пример

Разработчик создаёт pull request, коллеги оставляют комментарии с замечаниями, автор вносит правки, после чего код мержится.

Связанные термины

Pull Request (PR)

Основы Code Review

Механизм в системах контроля версий (GitHub, GitLab) для предложения изменений в код. Позволяет обсудить изменения, провести code review и автоматические проверки перед слиянием.

Пример

git push origin feature-branch → создание PR на GitHub → review → merge в main.

Связанные термины

Approval (Approve)

Основы Code Review

Формальное одобрение изменений рецензентом. В большинстве систем означает, что код соответствует стандартам качества и готов к слиянию. Может требоваться от 1 до N человек.

Пример

Senior разработчик ставит 'Approve' в PR после того, как убедился, что все замечания устранены.

Связанные термины

Readability (Читаемость)

Качество кода

Характеристика кода, описывающая лёгкость его понимания другими разработчиками. Зависит от именования, структуры, комментариев, сложности логики.

Пример

Функция `calculate_user_discount(user, cart)` понятнее, чем `calc(u, c)`.

Связанные термины

Code Smell

Качество кода

Поверхностный признак потенциальной проблемы в коде. Сам по себе не является багом, но указывает на возможные нарушения принципов проектирования. Примеры: дублирование, длинные методы, большие классы.

Пример

Функция на 200 строк — code smell, указывающий на нарушение Single Responsibility Principle.

Связанные термины

Edge Case

Баги и ошибки

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

Пример

Пустой список, отрицательное число, максимальное значение integer, null/None, специальная строка.

Связанные термины

SQL Injection

Безопасность

Уязвимость безопасности, позволяющая злоумышленнику выполнить произвольный SQL-код через внедрение вредоносных данных в запрос. Возникает при конкатенации пользовательского ввода с SQL-запросом.

Пример

query = f"SELECT * FROM users WHERE id = {user_id}" — уязвимо. Нужно использовать параметризованные запросы.

Связанные термины

XSS (Cross-Site Scripting)

Безопасность

Уязвимость, позволяющая внедрить вредоносный JavaScript в веб-страницу. Возникает при выводе пользовательских данных без экранирования.

Пример

Пользователь вводит `<script>alert('xss')</script>` в комментарий, и этот код выполняется в браузере другого пользователя.

Связанные термины

N+1 Query Problem

Производительность

Проблема производительности, когда для обработки N элементов выполняется N+1 запрос к базе данных (1 запрос для получения списка + N запросов для каждого элемента).

Пример

Получение списка постов, затем в цикле запрос автора для каждого поста. Решение: JOIN или eager loading.

Связанные термины

Временная сложность (Time Complexity)

Производительность

Оценка времени выполнения алгоритма в зависимости от размера входных данных. Обозначается O-нотацией (Big O). Примеры: O(1), O(log n), O(n), O(n²).

Пример

Поиск в отсортированном массиве — O(log n), перебор всех пар — O(n²).

Связанные термины

Mock (Мок)

Тестирование

Объект-заглушка, имитирующий поведение реального зависимого объекта в тестах. Используется для изоляции тестируемого кода и проверки взаимодействий.

Пример

Mock базы данных возвращает предопределённые данные без реального подключения к БД.

Связанные термины

Assertion (Утверждение)

Тестирование

Проверка ожидаемого результата в тесте. Хорошее assertion должно быть конкретным, понятным и проверять одну вещь.

Пример

assert result == 42 — хорошее; assert result — плохое (неясно, что ожидается).

Связанные термины

Docstring

Документация

Строка документации в Python, описывающая назначение функции, класса или модуля. Размещается сразу после объявления. Используется для генерации документации и подсказок в IDE.

Пример

def add(a, b): \"\"\"Складывает два числа.\n\nArgs: a, b — числа.\nReturns: Сумма.\"\"\"

Связанные термины

Constructive Feedback

Soft Skills

Форма обратной связи, которая фокусируется на конкретных улучшениях кода, а не на личности автора. Включает объяснение проблемы, предложение решения и обоснование.

Пример

Плохо: 'Это ужасный код'. Хорошо: 'Рекомендую вынести эту логику в отдельную функцию — это упростит тестирование и повторное использование'.

Связанные термины

Psychological Safety

Soft Skills

Атмосфера в команде, где разработчики чувствуют себя комфортно, задавая вопросы, признавая ошибки и предлагая идеи без страха быть осмеянными или наказанными.

Пример

В команде с психологической безопасностью junior разработчик не боится спросить 'почему так?' в code review.

Связанные термины

Частые вопросы о курсе «Основы Code Review»

Состав курса, уровни, практика и способы проверки знаний.

Что входит в курс «Основы Code Review»?

Курс включает 8 тем и 64 вопроса с разбором ответа. Начать можно с первой темы курса.

Для какого уровня рассчитан курс «Основы Code Review»?

Маршрут охватывает уровни Junior, Middle, Senior. Темы расположены от основы к более сложным инженерным задачам, поэтому можно начать с подходящего места и не пропускать важные зависимости.

Как проверить, что материал усвоен?

После прохождения тем доступен зачёт по курсу «Основы Code Review» — 20 случайных вопросов с порогом 80%. После зачёта открывается экзамен с развёрнутыми ответами и автоматической оценкой, приближённый к техническому собеседованию.

Курс «Основы Code Review» бесплатный?

Да, курс полностью бесплатный: все 8 тем доступны без оплаты.

Курс, а не тренажёр

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

Перейти к тренажёру Code Review