Расскажем о своем опыте работы в проекте “Мобильное рабочее место продавца“ (МРМП). Проект представлял собой устаревшую версию с множеством проблем и сложностей. Цель проекта - увеличить скорость разработки и привести к современному виду. В ходе доклада мы обсудим проблемы, с которыми пришлось столкнуться, рассмотрим различные варианты решения и типы архитектуры, их плюсы и минусы, а также Валерий расскажет, как и почему остановился на конкретном решении. В заключение будут даны рекомендации по выбору подходящего варианта для вашего собственного опыта, а так же советы, как и какие ошибки можно избежать на старте рефакторинга проекта. 00:00 История проекта • Автор рассказывает о своем опыте работы в проекте “Мобильное рабочее место продавца“ (МРМП). 07:14 Рефакторинг и ошибки • Автор начал рефакторинг, но столкнулся с ошибками и сложностями. • Он совершил ошибку, начав с сетевой части, вместо того чтобы начать с доменной логики. • Это привело к большим изменениям и проблемам с синхронизацией с основной командой. 11:34 Мега-классы и ошибки • Автор столкнулся с огромными классами, которые использовались для нескольких бэкэндов. 14:14 Проблемы с архитектурой • Упущение возможности написать тесты и рефакторинг. 16:47 Рефакторинг и разделение слоев • Разделение на дата слой, презентационный слой и домен. • Независимый домен, презентационные слои и отдельные компоненты для клиентов и бэк-эндов. 19:16 Варианты развития приложения • Первый вариант: простой проект с одним модулем. • Второй вариант: разделение по чистым слоям с помощью гредлов. • Третий вариант: разделение по фичам с общими слоями. • Четвертый вариант: разделение по фичам с отдельными гредлами для каждого слоя. 23:35 Работа с большим количеством фич • Разделение логики приложения на многокомпонентную для больших проектов. • Обособление логики для каждой фичи в отдельных гредлах. 25:46 Рефакторинг и разделение на модули • Рефакторинг позволяет упростить сборку и изменение кода, разбивая большие модули на более мелкие. 31:05 Советы по рефакторингу • Начинать рефакторинг лучше с сдвига логики домена, чтобы упростить бизнес-логику и отделить ее от других слоев. 36:26 Ответы на вопросы 38:28 Рефакторинг и разделение кода 45:46 Тестирование и ошибки 47:30 Организация разработки и конфликты 49:49 Рефакторинг и выделение модулей Инкрементальная сборка и оптимизация Обсуждение использования модулей в проекте Предпосылки для перехода на Gradle #smlab #клубмобильнойразработки #mobile #gradle
Hide player controls
Hide resume playing