Runtime flow показує порядок роботи

Статична карта відповідає на питання «що є в проєкті». Runtime flow відповідає на питання «що відбувається в конкретному сценарії». Потрібно відновити порядок викликів, рух даних, побічні ефекти, помилки та конфігурацію, яка змінює шлях виконання.

Точка входу не обовʼязково є `main()`: це може бути HTTP-маршрут, дія UI, CLI-команда, фонова задача або startup-логіка.

Шар flowЩо зафіксувати
Точка входуМаршрут, компонент, job або команда
Ланцюжок викликівФайли, класи й методи в реальному порядку
ДаніЯк запит перетворюється на модель, запис і відповідь
Побічні ефектиБД, резервування, зовнішні API, події та сповіщення
ПомилкиДе виконання припиняється і що вже встигло відбутися
КонфігураціяПрофілі, feature flags і env-змінні, що впливають на flow

Досліджуйте одну історію за раз

  1. Оберіть конкретний сценарій, наприклад оформлення замовлення.
  2. Знайдіть UI або API entry point.
  3. Побудуйте call chain із посиланнями на код.
  4. Опишіть перетворення даних на кожному кроці.
  5. Знайдіть успішний і помилковий шлях.
  6. Перевірте повʼязані тести та конфігурацію.
  7. Зафіксуйте неперевірені ділянки в inventory.
Приклад форми flow
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