Перейти к основному содержимому

Анализ влияния

Понимание последствий изменений до их внесения.

Что такое анализ влияния?

Отвечает на вопрос: "Если я изменю этот файл, что ещё будет затронуто?"

Это помогает:

  • Планировать изменения тщательнее
  • Определять необходимые тесты
  • Избегать неожиданных поломок
  • Оценивать трудозатраты

Запуск анализа

Веб-интерфейс

  1. Выберите проект
  2. Кликните на файл в визуализации
  3. Нажмите Анализ влияния

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 файлов)