Налаштування процесу Code Review для команди розробки
Code Review без чітко визначеного процесу стає вузьким місцем: PR висить 3 дні, рецензенти пишуть суб'єктивні коментарі, автор не розуміє, що терміново, а що ні. Результат — накопичений WIP і демотивація команди.
Елементи процесу
PR template—структурований опис змін, який автор заповнює при відкритті PR:
<!-- .github/pull_request_template.md -->
## Що було зроблено
<!-- Короткий опис змін -->
## Чому
<!-- Посилання на задачу або контекст -->
Closes #ISSUE_NUMBER
## Як тестувати
<!-- Кроки для перевірки -->
1.
2.
## Контрольний список
- [ ] Тести додані / оновлені
- [ ] Документація оновлена
- [ ] Немає console.log та налагоджувального коду
- [ ] Немає жорстко закодованих секретів
CODEOWNERS—автоматичне призначення рецензентів по файлам:
# .github/CODEOWNERS
# Глобальний рецензент
* @tech-lead
# Backend—тільки backend-розробники
/src/api/ @backend-team
/database/ @backend-team
# Інфраструктура—тільки DevOps
/.github/ @devops-team
/docker/ @devops-team
Правила для рецензентів
Рівні коментарів—щоб автор розумів пріоритет:
-
[blocker]—merge неможливий до виправлення. Баг, уразливість, порушення архітектури. -
[suggestion]—покращення, але не обов'язкове. Автор вирішує. -
[question]—прохання пояснити рішення. Не вимагає змін. -
[nit]—дрібниця (опечатка, форматування). Не блокує.
Часова угода: рецензент має обробити PR протягом 1 робочого дня. Якщо не встигає — пише, коли зможе, або просить іншого рецензента. PR не повинен висіти без відповіді більше доби.
Автоматичні перевірки перед рецензуванням
Рецензенти не повинні витрачати час на те, що можна автоматизувати:
# .github/workflows/pr-checks.yml
name: PR Checks
on: [pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run lint
- run: npm run type-check
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm test
Linter ловить стиль, тести ловлять регресії — рецензент зосереджується на архітектурі та логіці.
Метрики процесу
Відстежуйте через GitHub Insights або LinearB:
- Time to first review—як довго PR чекає першого коментаря
- Time to merge—від відкриття до merge
- PR size—великі PR (>400 строк) рецензуються гірше
Мета: середнє time to merge < 24 години, 80% PR < 200 строк.
Часовий графік
Написання PR template, налаштування CODEOWNERS, автоматичних перевірок та документування процесу для команди — 1–2 дні.







