Мой анализ сообщения из прошлого поста — 29 мая 2026 г. в 08:06:15.206
Мой анализ сообщения из прошлого поста В сообщении смешаны две разные проблемы: 1. Как внедрить единый стиль кода в команде 2. Как не пускать язык внешней системы в свою бизнес-логику Первая проблема решается организационно: нужно зафиксировать правила, проводить code review, подключать анализаторы, SonarQube, BSL Language Server и другие инструменты. Вторая проблема интереснее. Она не про код-стайл, а про архитектуру приложения и защиту внутренних слоев от внешних. Если внешняя система присылает нам: sender address cityId то это ее контракт, ее язык и ее модель данных. Мы не должны тащить эти названия внутрь своей системы. Внутри мы должны работать на своем языке: Отправитель Адрес ИдентификаторГорода Речь не о латинице или кириллице. Вопрос глубже. У системы должна быть своя доменная модель и свой Ubiquitous Language — единый язык предметной области. sender, address, cityId — это язык внешнего контракта. Отправитель, Адрес, ИдентификаторГорода — это язык нашей системы. Поэтому на границе добавляем переводчик: sender → Отправитель address → Адрес cityId → ИдентификаторГорода В DDD это называют Anticorruption Layer. В Clean Architecture — Interface Adapters. В Hexagonal Architecture — Adapters. Названия разные, но идея одна: внешний формат не должен становиться внутренней моделью. Иначе пишешь не на языке своей системы, а на языке чужого API. А потом любое изменение внешнего контракта ломает бизнес-логику.

