🏗️ Рекомендация доклада по архитектуре 🏗️

Уровень материала: 🐥 #middle
По чатам прошли репосты архитектурного доклада с Digital Dragons от лида из Playtika. Видимо отклик у многих он находит, поэтому присоединюсь к "флэшмобу".
Как минимум, это легальная возможность отметить себе "ага, в Playtika вот так делают" для важных переговоров.

Чего-то особого, нового или уникального в докладе нет. Но сам доклад хороший и обращает внимание на полезные моменты для тех, кто только подходит к вопросам архитектуры 🔍

MVx:

Для архитектур на основе MVx использование древовидной структуры — обычная история. Отсутствие публичного API у контроллеров с взаимодействием через модели — тоже популярная разновидность. Однако часто это явно не отмечается в учебных материалах по MVx, хоть и подразумевается. Раскрываются эти подробности только в комплексе, а не на примере одной "тройки", чем часто повествование и ограничивается. Доклад как раз иллюстрирует этот кейс 🍡

Универсальность:

Сейчас наконец-то стало популярно говорить о том, что универсального классного решения нет. Что любой подход — это компромисс. Были времена, когда в моде были холивары "у кого пуля серебрянней". На первых порах и из ECS делали такую "пулю". Но, кажется, улеглось 🤞

Логика и Визуал:

Отмечена важность отделения визуала от логики в контексте возможностей тестирования. Это не просто "для красного словца" приводится в учебниках — в действительности так и есть ☝

Инструменты:

Упомянута важность удобного тулинга, который позволит понятно посмотреть, что происходит в проекте в Runtime и как-то в целях отладки и тестирования удобно повлиять на исполнение. Это вроде незначительная, но очень важная деталь.

Если разработан какой-то свой архитектурный фреймворк, то не разработать для него удобный инструментарий — чудовищная ошибка.

На крайний случай, можно всегда оперативно "закостылить" на сцену MonoBehaviour, внедрить туда нужную зависимость, вынести в инспектор кнопки управления и отладочную Runtime-информацию. Благо Odin позволяет это всё очень ловко и легко провернуть (или бесплатный Tri-Inspector) 🔨

Другие моменты:

Много и других более мелких деталей озвучивается. Каждый для себя может что-то да подметит.

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

Также на одном из слайдов промелькнули Rider Live templates — тоже полезный инструмент. Какие-нибудь дефолтные ctor , for, foreach наверняка многие использовали. Несмотря на свою кажущуюся простоту, для максимизации профита нужно целенаправленно поковыряться какое-то время в этом.

Ну и всяческий AI Assist — мне тоже очень нравится. Забирает на себя кучу мелочухи по типу инициализации полей, логирования, авто-дополнения, формирования кода для отписок. Ну и не опечатывается в этом, в отличие от меня 😁

————————————

1111
Начать дискуссию