# 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 строк)