Runtime flow показує порядок роботи
Статична карта відповідає на питання «що є в проєкті». Runtime flow відповідає на питання «що відбувається в конкретному сценарії». Потрібно відновити порядок викликів, рух даних, побічні ефекти, помилки та конфігурацію, яка змінює шлях виконання.
Точка входу не обовʼязково є `main()`: це може бути HTTP-маршрут, дія UI, CLI-команда, фонова задача або startup-логіка.
| Шар flow | Що зафіксувати |
|---|---|
| Точка входу | Маршрут, компонент, job або команда |
| Ланцюжок викликів | Файли, класи й методи в реальному порядку |
| Дані | Як запит перетворюється на модель, запис і відповідь |
| Побічні ефекти | БД, резервування, зовнішні API, події та сповіщення |
| Помилки | Де виконання припиняється і що вже встигло відбутися |
| Конфігурація | Профілі, feature flags і env-змінні, що впливають на flow |
Досліджуйте одну історію за раз
- Оберіть конкретний сценарій, наприклад оформлення замовлення.
- Знайдіть UI або API entry point.
- Побудуйте call chain із посиланнями на код.
- Опишіть перетворення даних на кожному кроці.
- Знайдіть успішний і помилковий шлях.
- Перевірте повʼязані тести та конфігурацію.
- Зафіксуйте неперевірені ділянки в inventory.
POST /api/orders
→ controller
→ order service
→ reserve inventory
→ authorize payment
→ save order
→ publish event
→ notification або background job Happy path недостатній
- товар може бути відсутній до збереження замовлення;
- платіж може бути відхилений після попередніх кроків;
- зовнішній сервіс може завершитися timeout;
- подія може запускати окремий фоновий процес;
- частковий побічний ефект може лишитися перед помилкою.
Запит до Claude для flow analysis
Простеж один сценарій: оформлення замовлення.
Не редагуй файли.
Знайди entry point і call chain.
Для кожного кроку покажи рух даних,
побічні ефекти, конфігурацію, error paths і тести.
Окремо познач неперевірені припущення. Flow треба підтвердити, а не вгадати
Перевірте щонайменше точку входу, центральний сервіс і тест помилки. Не ототожнюйте послідовність папок зі runtime-порядком і не змішуйте відновлення flow з пропозиціями рефакторингу.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush