PR templates, branching strategy, approval flow, SLA
Процесс должен помогать, а не мешать. Хороший workflow ускоряет разработку, плохой — создаёт бюрократию.
main (всегда деплоябельна)
│
├── feature/login → PR → main
├── feature/signup → PR → main
└── fix/bug-123 → PR → main
Правила:
mainfeature/xxx, fix/xxx, hotfix/xxxmainmain (продакшен)
│
└── develop (интеграция)
│
├── feature/login → develop
├── release/1.0 → main + develop
└── hotfix/bug → main + develop
Когда использовать:
## Что делает этот PR?
- Добавляет форму логина
- Интегрирует OAuth Google
## Зачем?
- Пользователи просили вход через Google
- Тикет: #123
## Тип изменений
- [ ] Bug fix
- [x] New feature
- [ ] Breaking change
- [ ] Documentation
## Чек-лист
- [ ] Тесты добавлены
- [ ] Миграции созданы
- [ ] Документация обновлена
- [ ] Скриншоты для UI изменений
## Скриншоты (для UI)
<!-- .github/PULL_REQUEST_TEMPLATE.md -->
## Описание
<!-- Что изменилось и зачем -->
## Тип изменений
- [ ] 🐛 Bug fix
- [ ] ✨ New feature
- [ ] 💥 Breaking change
- [ ] 📖 Documentation
## Чек-лист
- [ ] ✅ Тесты пройдены
- [ ] 📝 Миграции добавлены
- [ ] 📚 Документация обновлена
## Тестирование
<!-- Как протестировать -->| Тип PR | Требования |
|---|---|
| Обычный | 1 approval от команды |
| Критичный | 2 approval + senior review |
| Безопасность | 2 approval + security team |
| Архитектура | 2 approval + tech lead |
# .github/CODEOWNERS
# По умолчанию: любая команда
* @dev-team
# Безопасность: требует security team
/security/ @security-team
# Биллинг: требует senior approval
/billing/ @senior-devs
# Документация: любой может мержить
/docs/ | Метрика | SLA |
|---|---|
| Первый комментарий | < 4 часов (рабочее время) |
| Время до мержа (small PR) | < 24 часов |
| Время до мержа (large PR) | < 72 часов |
| Процент PR с замечаниями | 60-80% |
Для команды:
Для тимлида:
| Размер | Строк | Время review |
|---|---|---|
| Small | < 200 | 15-30 мин |
| Medium | 200-400 | 30-60 мин |
| Large | 400-800 | 60-90 мин |
| XL | > 800 | Разбить! |
Было (800 строк):
PR: "Добавляет личный кабинет пользователя"
- Модель User
- Контроллер Profile
- Форма редактирования
- Загрузка аватара
- Смена пароля
- История заказов
Стало (4 PR по 200 строк):
PR #1: Модель User + миграции
PR #2: Контроллер Profile + базовая страница
PR #3: Форма редактирования + аватар
PR #4: Смена пароля + история заказов
Ключевая мысль: Процесс должен быть лёгким. GitHub Flow, PR template, SLA < 4 часов, PR < 400 строк.
Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.