TGViewer
ITKatya: культурные паттерны в IT ITKatya: культурные паттерны в IT @valuegoalsddd · 1.77K subscribers
Post #564 580
🍞Сказание о Тостере, или витки СЛОВАРНОГО ада 😈
(по мотивам финтеха и с налетом ISO-бюрократии)

Привет! Я вернулась с DevOpsConf (не без приключений: вместо Ларнаки чемодан улетел в Берлин) — и буквально сразу оказалась в омуте, который технически называется "рабочий процесс", а неофициально — «бесконечная археология».
И вот за 2 дня я трижды наткнулась на один и тот же кейс, в абсолютно разных местах. Архитектурный баг, элегантный, как капкан в траве.

Ситуация простая: Есть страна. Есть валюта. Потом что-то происходит (политика, экономика, сюрприз от регулятора) — и валюта меняется. Страна остается, но с новым кодом валюты. А платежная система должна уметь:
1️⃣Принимать новую валюту.
2️⃣Работать с возвратами по старой валюте.
3️⃣Держать в голове курсы, даты, соответствия и здравый смысл.

Перейдем на уточнение примера:
Человек в декабре купил себе тостер и миксер (в подарок жене и теще на Новый год).
В январе страна изменила валюту.
В марте (а возможно и в июле или в марте через 2 года) тостер сгорел.
Покупатель возвращается в магазин: «верните деньги».
А вы как платежная система ему такие: «...в какой валюте? 😶»

👉 на API у вас уже только новый код валюты,
👉 возврат оформляется в старой,
👉 справочник не обновился,
👉 курс не подтянулся (да ему мб уже и неоткуда, так как вы сидите не на своих курсах, а берете из с какого-то сайта),
👉 а тот, кто пишет багрепорт — это вы.

🎢 А дальше начинается карусель:
- как хранить валюты (справочник ISO уже обновился (про справочник валют и немного приколов с ним вот тут и тут), а вы его уже подтянули)?
- как хранить курсы?
- кто их предоставляет?
- по какой дате брать курсы в обратную сторону?
- и можно ли вообще в API не указывать валюту, если она исчезла?
- а что делать в отчетах?
- а как проводить сверку?
- а что сломается у контрагента, если проведем в старой валюте?

⚙️ Проблема не в том, что у вас баг. Проблема в том, что он архитектурный, даже ДОМЕННЫЙ. Это не баг про "сломалось", а про то, что не предусмотрели:
— что старая валюта может еще всплыть
— что надо уметь работать с "мертвыми валютами"
— что курсы тоже умирают, как персонажи в греческой трагедии
— и что когда тебе говорят «ничего сложного, просто добавь валюту», ты можешь только горько улыбнуться

Так что да, это не пост про тостеры. Это пост про сложность проектирования архитектуры, особенно в домене, где «поменять одну строчку» тянет за собой все круги ада, начиная от API, заканчивая бухгалтерией и legal.

💬 А у вас бывало такое, чтобы одна и та же "мааааааааленькая" архитектурная проблема возникала в разных проектах, да еще и в одночасье?

#architecture #fintech
  • 🔥 10
  • 👍 6
  • 🤯 2
  • ❤ 1
  • 💯 1
More from @valuegoalsddd
  1. Aug 4, 2026Последние несколько дней читаю книгу про коллективную и личную вину, геройство и молчание…
  2. Jul 30, 2026Ладно, раз уж последние дни мы снова говорим про языки и нейминг, то хочу зайти немного с…
  3. Jul 29, 2026У кого какие романтические вечера или сцены из супружеской жизни 👩‍❤️‍👨 Легли вчера с му…
  4. Jul 29, 2026Нейминг — это не про красоту. Иногда это про очень дорогие баги. Один из моих любимых прим…
  5. Jul 26, 2026Ну а вот сами дизайны! И если вам лень лезть и голосовать или у вас нет возможности прогол…
  6. Jul 26, 2026Нуууууу... Возвращаться после затяжного отсутвия сложно, но попробую! Начнем с простой нов…
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 →