Поймал важную мысль, которую хочется закрепить для 1С-мира. — 6 апреля 2026 г. в 13:10:35.819
Поймал важную мысль, которую хочется закрепить для 1С-мира. В «больших» языках архитектура частично поддерживается языком и IDE: зависимости видно, границы можно зафиксировать, компилятор помогает не нарушать правила. А в 1С многие опоры отсутствуют и поэтому архитектура чаще живёт в голове. А голова не резиновая. Что именно усложняет жизнь: 👉 Нет неймспейсов → зависимости не видны В обычных языках ты открываешь файл и сразу видишь using/import — откуда что пришло, куда ты лезешь. В 1С этого нет: зависимости приходится помнить, а не видеть. Разложить по слоям папками проекта тоже нельзя. Папок проекта нет, всё превращается в соглашения и самоконтроль. 👉 Нет интерфейсов → контракт держится на ответственности программистов Мы можем «играть» в интерфейсы: описания, области, договорённости «вот это — публичный контракт». Но это не то же самое, что реальный интерфейс, который проверяется инструментами. В итоге снова: контракт надо держать в голове. 👉 Почти нет модификаторов доступа → границы не защищены Да, в 1С есть попытка это компенсировать: области ДляВызоваИзДругихПодсистем, экспортные процедуры, договорённости «сюда можно, сюда нельзя». Но рантайм/компилятор этого не знает и не чувствует. Такие «модификаторы доступа» — это не стена, это табличка «не входить». А значит, архитектура снова держится на дисциплине команды. 👉 Нет «точки входа» → граф зависимостей не собирается В нормальном приложении обычно есть понятие: - вход в приложение (composition root / bootstrap) - сборка зависимостей - понятный маршрут: контроллер → сценарий использования → домен → инфраструктура В 1С «по умолчанию» этого нет, поэтому получается: - сервисы повсюду (общие модули как глобальные точки доступа) - зависимости становятся размазанными и неявными - бизнес-логика «разъезжается» по обработчикам, подпискам, событиям и входа в конкретный сценарий нет 1С — классная платформа для бизнеса, и я точно не про хейт платформы. Я про то, что рост в архитектуре — это две задачи сразу: понять теорию и научиться применять, и быстрее это происходит там, где язык/IDE явно показывают границы и зависимости, после чего возвращаться в 1С и «играть по тем же правилам» становится намного проще.

