TGViewer
ITKatya: культурные паттерны в IT ITKatya: культурные паттерны в IT @valuegoalsddd · 1.77K subscribers
Post #738 558
Сравнение номеров документов (как простая задачка становится кошмаром)

Когда говорят «проблемы с документами», обычно представляют сложный финтех, регуляторку, KYC и юридические тонкости.
Но на практике все начинается гораздо раньше — с базовых, тривиальных вещей. Например с попытки понять, что перед тобой один и тот же документ в электронке!
И тут ломается все...

1️⃣ Формат номера
Один и тот же номер может выглядеть так:
123456789
123 456 789
123-456-789
123/456789

Для человека — очевидно одно и то же.
Для системы — четыре разных значения.
Если сравнение строковое и без нормализации, совпадений не будет никогда.

2️⃣ Тип данных и хранение
Классика: номер документа хранится как int --> ведущие нули исчезают --> часть номера «съедается» при преобразовании
0012345 → 12345

Обратно это уже не восстановить 😭

3️⃣ Национальные и доменные особенности
Даже если забыть про «экзотику»:
— в разных странах — разные форматы (но документ может использоваться одним пользователем в разных странах)
— длина номера может отличаться (а это уже про один и тот же тип документа, но который отличается, например: паспорт РФ и паспорт Кипра)
— уникальность часто существует только в паре с типом документа или страной (тут и паспорт как таковой, и лицензия на вид деятельности, которая может быть выдана только на конкретный паспорт)
Номер сам по себе — почти никогда не достаточен для сравнения.

4️⃣ Человеческий фактор
Источники данных:
— ручной ввод
— ML-распознавание
— госуслуги
Типовые ошибки:
O и 0
I и 1
B и 8

Формально — разные значения.
Фактически — "я ошибся, простите!".

6️⃣ Символы и юникод
Самая подлая категория.
латинская A ≠ кириллическая А
пробел ≠ non-breaking space
есть символы, которые вообще не видны

Визуально номер одинаковый.
Технически — нет.

❗️Почему это важно
Все эти проблемы:
— самые простые
— самые дешевые в исправлении
— самые частые
И именно их:
— не обсуждают на архитектурных комитетах
— не закладывают в требования
— считают «очевидными»
А потом:
— не сходится KYC
— «теряются» клиенты
— появляются фантомные дубликаты

Вывод
Сравнение номеров документов — ломается не на сложных кейсах, а на самых базовых!
Если это не решено — дальше идти бессмысленно!

💬 Признавайтесь, кто искал невидимый символ?
  • 👍 12
  • 💯 7
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 →