TGViewer
ПРО системный анализ на удаленке | Чемерис Денис ПРО системный анализ на удаленке | Чемерис Денис @pro_system_analysis · 673 subscribers
Post #39 698
PRO учет "всех" возможных исходов

В нашей повседневной работе мы редко сталкиваемся с линейными сценариями. Чаще всего у нас есть два основных варианта развития событий:

1️⃣. Конструкция: ЕСЛИ [условие1] ТО [действие1] ИНАЧЕ [действие0] (аналог if ... else ...)
Пример: ЕСЛИ возраст клиента больше или равен 16 лет, ТО работаем ✅, ИНАЧЕ нет ❌.


2️⃣. Конструкция: ЕСЛИ [условие1] ТО [действие1]; ЕСЛИ [условие2] ТО [действие2]; ИНАЧЕ [действие0] (аналог switch: case ... default ...)
Пример: ЕСЛИ статус заказа "Новый", ТО делай раз, ЕСЛИ статус заказа "Оплачен", ТО делай два и так далее; ИНАЧЕ [действие0]


При чтении постановок сталкиваюсь с ситуацией, когда аналитики пытаются предусмотреть "все" возможные исходы, но забывают про ключевое слово "ИНАЧЕ".

Это слово часто обрабатывает минимальный перечень возможных исходов, которые могут показаться невозможными и возникает такой диалог: 
- Учли все исходы?
- Да, всё перечислено. Дополнительных исходов не будет.
- А что, ***, если нет? Что будет, если нет? (как у Слепакова в песне про нефть)
- Эм-м-м.


Пример: Представьте сервис, который возвращает состояние заказа, описываемое тремя возможными статусами {"Новый", "Оплачен", "Получен"}. Мы знаем все эти статусы сейчас и кажется, что достаточно описать поведение при получении каждого из них. Но что, если сервис не наш, а жизненный цикл заказа со временем может усложниться (судя по списку статусов, точно усложнится)? Правильно: мы столкнемся с необрабатываемым исходом и непредсказуемым поведением.

На ревью 🔍 могут не заметить. Разработчик 💻 сделает так, как описано. Тестировщики 🪲 поторопятся и не обратят внимания. Всё уедет в прод 🫣 как есть. Рано или поздно получим инцидент 🤷‍♂️ на ровном месте.

Решение: считаю лучшей практикой с самого начала заложить поведение на случай исключительных ситуаций. Даже если мы учли "все" исходы, всегда может произойти что-то еще: добавят статус "Отменён", "Ожидает оплаты" или иной другой статус. Поэтому необходимо не забывать про "ИНАЧЕ", чтобы система была готова к неожиданностям и оставалась стабильной 💪.

—————

Как тебе материал? Ставь 👍, если годится)

Спасибо за обратную связь и отличной 👨‍💻  недели!

made in: @pro_system_analysis

❗️Начало активного подбора СА близко. Заходи на тестовое собеседование: по ссылке
  • 👍 16
  • 👏 2
  • 🔥 1
More from @pro_system_analysis
  1. Sep 25, 2026PRO то, зачем нам MCP 🤖 (часть 03). Кто связывает MCP и модель В первых двух постах мы ра…
  2. Sep 23, 2026PRO то, зачем нам MCP 🤖 (часть 02). В прошлых постах мы сами описывали модели функцию jir…
  3. Sep 22, 2026PRO то, зачем нам MCP 🤖 (часть 01). По результатам опроса вот тут: ссылка 👆 была выбрана…
  4. Sep 20, 2026PRO пульс 🎙 рынка СА (2026.09.20) Источники: hh.ru Вакансий: 974 → 964 (📉 -1.0%) За неде…
  5. Sep 17, 2026Начинаем через 5 минут. ⌛ Вход по ссылке: ссылка 👆
  6. Sep 17, 2026Post #211
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →