Анализ влияния
Понимание последствий изменений до их внесения.
Что такое анализ влияния?
Отвечает на вопрос: "Если я изменю этот файл, что ещё будет затронуто?"
Это помогает:
- Планировать изменения тщательнее
- Определять необходимые тесты
- Избегать неожиданных поломок
- Оценивать трудозатраты
Запуск анализа
Веб-интерфейс
- Выберите проект
- Кликните на файл в визуализации
- Нажмите Анализ влияния
CLI
> /analyze src/services/user.ts
API
curl -X POST https://api.archicore.io/api/v1/projects/:id/analyze \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"path": "src/services/user.ts"}'
Понимание результатов
Анализ влияния для src/services/user.ts
╭─────────────────────────────────────────╮
│ Прямые зависимости (5) │
├─────────────────────────────────────────┤
│ → src/utils/crypto.ts │
│ → src/db/models/user.ts │
│ → src/config/auth.ts │
╰─────────────────────────────────────────╯
╭─────────────────────────────────────────╮
│ Зависимые - будут затронуты (8) │
├─────────────────────────────────────────┤
│ ← src/controllers/auth.ts │
│ ← src/controllers/profile.ts │
│ ← tests/user.test.ts │
╰─────────────────────────────────────────╯
Уровень риска: СРЕДНИЙ
Затронуто тестов: 2
Уровни влияния
| Уровень | Описание | Действие |
|---|---|---|
| Низкий | Мало зависимых | Стандартное ревью |
| Средний | Несколько зависимых | Тщательное тестирование |
| Высокий | Много зависимых | Расширенное тестирование |
| Критичный | Затрагивает критичные пути | Дополнительное ревью |
Симуляция изменений
Предпросмотр влияния:
> /simulate
Опишите изменение: Добавить параметр к UserService.getUser()
Результаты симуляции:
Файлы для обновления:
1. src/controllers/auth.ts:34 - вызывает getUser()
2. src/controllers/profile.ts:12 - вызывает getUser()
Тесты для обновления:
1. tests/user.test.ts - 5 тестов вызывают getUser()
Оценка трудозатрат: Средняя (8 файлов)