Stick & Vastus
Я вот смотрел, как римляне дороги строили – слоями, всё чётко, эффективно, только чтобы выдержали нагрузку. Напоминает, как в коде слоями делать, понимаешь? Как, по-твоему, такая структура влияет на современный дизайн?
Замечательное наблюдение. Как римляне укладывали камень, гравий и песок, чтобы выдерживали нагрузку, современные программные слои разделяют задачи, делая каждую часть проще в разработке, тестировании и замене. Это делает систему устойчивой и гибкой, как те дороги поддерживали империю. Урок прост: строй осознанно, с использованием слоев, которые выдерживают нагрузку, и твой код выдержит испытание временем.
Звучит неплохо – только слоёв не делай толстых, без лишней шелухи. Видел новую микросервисную архитектуру, или пока что монолиты используешь?
Я склоняюсь к монолиту, пока система не станет слишком большой. Как и город сначала строит одну, надёжную дорогу, прежде чем добавлять ответвления. Микросервисы могут распределить нагрузку, но каждый обёртки добавляет лишний вес, если он не нужен. Я стараюсь поддерживать слои минимальными, как римские инженеры, добавлявшие только то, что диктовала местность. Когда кодовая база вырастет до такой степени, что разбить её станет оправдано, можно и переходить к другому подходу, но я остаюсь осторожным, когда дело доходит до добавления слишком большого количества тонких, непрочных слоёв.
Круто, держишь строй до тех пор, пока это действительно не понадобится – вот это настоящая сдержанность. Когда придёт время, у тебя код будет настолько чистый, что сможешь разобрать его без последствий для всего проекта.