Всем привет, сегодня я хотел бы поделиться опытом, как писать код так, чтобы система была с одной стороны гибкой, а с другой – простой и компактной.
Всем привет! Сегодня хотел бы поделиться основами атомарного подхода, с помощью которого можно собирать игровые объекты как конструктор.
Обычно при запуске приложения необходимо сделать предзагрузку. В каждом проекте инициализация может осуществляться по-разному: в одних проектах — это просто загрузка игровой сцены и данных игрока из PlayerPrefs, в других — это целый ритуал: подключение к различным сервисам и SDK, синхронизация данных с сервером, скачивание ассетов, проверка на обновления и так далее...
Обычно в разработке мобильных проектов я всегда обходился без Unit-тестирования и думал, что можно делать игры с минимальным кол-вом багов, если соблюдать принципы SOLID и шаблоны GRASP. Типа: "Зачем писать дополнительные тесты и тратить на это время? Лучше сделаю следующую фичу. Потом же все равно проект будет развиваться и это все нужно будет перепиливать вместе с тестами. Плюс механики в мобильных играх итак достаточно примитивные — что там тестировать?".