TGViewer
Лаборатория Математики и Программирования Сергея Бобровского Лаборатория Математики и Программирования Сергея Бобровского @lambda_brain · 1.41K subscribers
Post #2614 529
Вот в чистом ядре твоей архитектуры, где смоделирована вся бизнес-логика и онтология, есть некоторый сквозной тип (например Деньги), которым пользуются сотни модулей и внутри ядра, и во внешних слоях.

По неведомым причинам этот тип решили переписать с нуля: другая внутренняя структура, другая реализация.

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

Как это сделать правильно, сегодня скажет любой джуниор: публичный API должен полностью совпадать с тем, что было. Те же методы с теми же сигнатурами, для каждого метода отдельно зафиксированы и соблюдены предусловия, постусловия и инварианты.

Сюрприз, но это не сработает, патамушта лемма Йонеды (буквальное совпадение по сигнатурам не гарантирует согласованности с гомоморфизмами, не даёт естественное семейство биекций, диаграмма не коммутирует).

Малышам полезно вспомнить утиную типизацию и LSP, если конечно это проверяется вашими тестами. До изоморфизма Карри-Ховарда, понятно, никакими тестами не добираемся, но хотя бы приближаемся.

А с ментатами, как гарантировать корректность такого рефакторинга, разбираем в Last Principles Framework.

Думайте.
  • 🫡 26
  • ✍ 10
  • ❤ 5
  • 🔥 2
  • 🐳 2
More from @lambda_brain
  1. Sep 25, 2026Гарри Поттер и Методы Математического Мышления Книга 1. Гарри Поттер и Неорганический Инте…
  2. Sep 25, 2026Свежее от ребят (и девчат). ...Так же было собеседование в Сбере, каким то чудом прошел их…
  3. Sep 24, 2026Приятный синхронизм: сразу двое ребят в один день прислали отчёты - второй курс по гомотоп…
  4. Sep 24, 2026Post #2665
  5. Sep 23, 2026Помните, летом я писал, что каждый месяц будет какая-то "новая" AI-темка (шоу должно продо…
  6. Sep 23, 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 →