60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
# Code Review
|
|
|
|
---
|
|
|
|
## Обязательность
|
|
|
|
- Все PR в `main` и `develop` проходят code review
|
|
- Минимум 1 апрув от admin/owner
|
|
|
|
---
|
|
|
|
## Чеклист ревью
|
|
|
|
### Безопасность
|
|
- [ ] Нет секретов, ключей, паролей в коде
|
|
- [ ] Нет чувствительных данных в логах
|
|
- [ ] Входные данные проходят Pydantic валидацию
|
|
- [ ] Проверены права доступа (RBAC)
|
|
|
|
### Качество кода
|
|
- [ ] Нет сырых Exception в API ответах (заменены на HTTPException)
|
|
- [ ] Есть обработка ошибок для внешних вызовов (try/except)
|
|
- [ ] Docstrings написаны (Google-style)
|
|
- [ ] Аннотации типов проставлены
|
|
- [ ] Ruff проходит (0 errors)
|
|
- [ ] mypy проходит (0 errors)
|
|
|
|
### Тесты
|
|
- [ ] Есть тесты на новую функциональность
|
|
- [ ] Есть smoke-тест на новые endpoint'ы
|
|
- [ ] Тесты проходят
|
|
|
|
### Документация
|
|
- [ ] .env.example обновлён (если новая переменная)
|
|
- [ ] CHANGELOG обновлён
|
|
- [ ] ADR создан (если архитектурное изменение)
|
|
|
|
---
|
|
|
|
## Как писать комментарии
|
|
|
|
```markdown
|
|
**Вопрос:** Зачем здесь этот блок? Кажется неиспользуемым.
|
|
— Я бы предложил вынести в отдельный метод.
|
|
|
|
**Предложение:** Этот фрагмент дублируется в 3 местах.
|
|
— Давай вынесем в общий хелпер в core/utils.py.
|
|
|
|
**Замечание (блокирующее):** Здесь пароль попадает в лог.
|
|
— Нужно убрать логирование password. См. §11 Sensitive Data Policy.
|
|
```
|
|
|
|
---
|
|
|
|
## [ASK] Вопросы по ревью
|
|
|
|
- Использовать GitHub Code Owners? (рекомендуется для больших команд)
|
|
- Добавить авто-ревью (агент)? (рекомендуется: AuditAgent проверяет базовые правила)
|
|
- Сколько максимум строк на PR? (рекомендуется < 500 строк)
|