TGViewer
ITKatya: культурные паттерны в IT ITKatya: культурные паттерны в IT @valuegoalsddd · 1.77K subscribers
Post #770 426
«Возьму Найду и не отдам…»

Про протекание домена говорят много. Но есть вещь менее очевидная — и гораздо более коварная: размытие границ функций.
Не домен протек. Протекла функция.

Давайте продолжим с дубликатами. Что же такое поиск дубликатов?

Поиск — это действия ищущего, розыски кого-чего-н. Он должен отвечать только на один вопрос: найдено/не найдено и с какой вероятностью это именно то, что искали?
ВСЕ!!!

Но в реальных системах к поиску незаметно приклеиваются другие глаголы:
— нашли → заблокировали
— нашли → запретили создание
— нашли → склеили
— нашли → переписали данные

И в этот момент это уже не поиск, а помесь крокодила 🐊 с курицей 🐔!

И вроде бы, «Что в этом такого?»

А последствия страшные:
— алгоритм поиска становится зависим от других процессов
— пороги начинают крутить под бизнес-метрики
— нельзя отдельно улучшать качество матчинга
— масштабирование усложняется, так как поиск на «входе» и «выходе» становится разными функциями
— систему трудно объяснить

❔Как проверить, что функция содержит больше одного глагола?

Задайте себе несколько вопросов:
1️⃣ Можно ли изменить политику, не трогая алгоритм?
Если нет — глаголы смешаны.
2️⃣ Возвращает ли функция только данные или уже принимает решение?
Правильный поиск возвращает кандидатов и score.
Если он возвращает isBlocked = true — это уже не только поиск.
3️⃣ Есть ли внутри side-effects?
Запись статуса, блокировка, изменение флага — это другой глагол.
4️⃣ Можно ли переиспользовать функцию в другом сценарии?
Если для аналитики нужно «выключать половину логики» — функция перегружена.
5️⃣ Можно ли назвать еe одним словом (и не покривить душой)?
Если имя звучит как findAndBlockDuplicateUser — ответ очевиден.

Разделяйте:
👯‍♀️Match — кто на кого похож
👩‍⚖️ Decision — что с этим делать
☝️ Action — конкретное действие

Поиск дубликатов — это не «найти и не отдать».
Это «найти — и только потом выбрать правильный глагол».

Ну, а если вы соскучились по цитатам, то вот Цветаева:
«Возьму и не отдам…
Отдам и вновь,
В горсть соберу, миг подержу — и брошу…
— Хорош словарь?»


💬 А у вас в системах есть мутировавшие глаголы?!

PS если не понятно, завтра подробнее с примерами!
  • ❤ 7
  • 👍 6
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 →