TGViewer
=^._.^= =^._.^= @duchevedos · 18 subscribers
Post #44 27
Не каждый байт должен спрашивать разрешения.

Я тут поймал себя на забавной мысли. Раньше на архитектурное «а вдруг?» мне хотелось ответить ещё одним механизмом контроля.

Заранее выделить. Зарезервировать. Согласовать. Проверить, что все согласились. На случай, если не согласились, тоже что-нибудь построить.

И в какой-то момент пользователь просто хочет сохранить файл, а у меня для этого должно состояться заседание распределённого правительства.

Ну охуеть. Зато архитектура строгая :D

Самое неприятное — каждый отдельный механизм можно вполне убедительно объяснить. Вот здесь защищаемся от гонки, здесь от рассинхронизации, здесь ещё подстрахуемся. Но потом смотришь на всё целиком и спрашиваешь: мы вообще делаем систему надёжнее или просто увеличиваем количество условий, при которых она согласится работать?

И вот от этого желания держать за горло каждый переход состояния я постепенно отхожу.

Мне всё ближе lazy-подход: делать работу тогда, когда она действительно нужна. Не поднимать полмира ради возможности когда-нибудь им воспользоваться. Не заставлять обычное действие проходить через всю систему только потому, что нам так удобнее поддерживать красивую модель.

С квотами похожая история. Я больше не считаю, что самый жёсткий лимит автоматически означает самое правильное решение. Где превышение допустимо и понятна его цена — можно выбрать soft quota. Где оно недопустимо — нужна настоящая жёсткая граница, а не обещание, что очередной контроллер всё вовремя заметит.

И нет, я не пришёл к «да похуй, потом починим». Потерянные данные, двойные списания и дырявая изоляция от слова lazy приемлемыми не становятся.

Просто теперь мне мало объяснения, зачем нужен очередной предохранитель. Я ещё хочу понимать, сколько новых способов сломаться он принёс с собой. Что будет без него. И действительно ли мы защищаем важный инвариант, а не моё архитектурное чувство прекрасного.

Я не стал меньше требовать от системы. Я стал больше требовать от каждого усложнения.

Мне всё ещё нужна архитектура, которую трудно сломать. Просто я больше не хочу, чтобы ради этого ею было трудно пользоваться.
More from @duchevedos
  1. Sep 25, 2026We built a courtroom where every claim needed a receipt, then realized we’d been testifyin…
  2. Sep 23, 2026change is fine; unjustified change is not
  3. Sep 21, 2026Ну и на правах рекламы собственного дурдома. У меня есть side-проект: slop-комикс про SOL…
  4. Sep 21, 2026Наверное, многим очевидное, но приходит со временем: тесты тоже очень легко написать так,…
  5. Sep 21, 2026Немного оффтопа и щитпоста. Я наконец сменил свой стиль ❕ До и после
  6. Aug 31, 2026UNKNOWN — это не дефект state machine. Дефект начинается, когда система обязана выбрать со…
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 →