TGViewer
IT – Гильдия IT – Гильдия @itguild_next_tick · 1.72K subscribers
Post #87 1.34K
Одна маленькая правка потребовала изменений в пятнадцати местах

Задача выглядела простой: добавить новый статус заказа.

Разработчик рассчитывал справиться за час. Потом выяснилось, что статус нужно учесть в API, валидации, уведомлениях, отчетах, правах доступа и еще в десятке условий по всему проекту.

Одно место пропустили — клиент получил уведомление по уже отмененному заказу.

Проблема не в количестве файлов. Изменение публичного контракта действительно может затронуть несколько слоев. Тревожный сигнал — когда одно бизнес-правило скопировано в пятнадцать мест и разработчик должен помнить их все.

Так часто происходит из-за флагов

В объект добавляют:

isPaid
isCancelled
isRefunded

Три флага дают восемь комбинаций. Некоторые допустимы, некоторые невозможны, а для остальных нужны дополнительные проверки.

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

Код работает. Но каждое изменение становится дороже предыдущего.

А разве AI не может исправить все места?

Может найти похожие условия и быстро внести правки. Но AI не всегда знает, какое правило автор проекта держал в голове и какие связи не описаны в коде.

Он может одинаково исправить четырнадцать мест и пропустить пятнадцатое. Или добавить новую проверку поверх старой модели и сделать систему еще сложнее.

Скорость редактирования не исправляет архитектуру.

Что делает инженер

Он не начинает с поиска всех if. Сначала выясняет:

— где должно жить бизнес-правило;
— какие состояния действительно допустимы;
— какие переходы между ними разрешены;
— можно ли выразить это одной моделью или таблицей переходов;
— как проверить правило в одном месте.

После этого пятнадцать разрозненных условий превращаются в один источник правды и несколько понятных вызовов.

Хороший признак архитектуры — изменение приходится вносить там, где живет соответствующее решение. Плохой — нужно обойти весь проект и надеяться, что ничего не забыли.
  • ❤ 14
  • 👍 4
More from @itguild_next_tick
  1. Sep 19, 2026Суббота у всех проходит по-разному 🏎️ Илья сегодня на тренировке — трасса и гонки. А что…
  2. Sep 2, 2026«У меня нет достижений для резюме. Я просто 5 лет закрывал таски» Что обсуждали ребята в ч…
  3. Aug 27, 2026Post #111
  4. Aug 27, 2026Хорошая структура данных сокращает код и работу с AI AI может написать сотню строк за мину…
  5. Aug 26, 2026photo post
  6. Aug 24, 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 →