Как не выстрелить себе в ногу из конечного автоматаАрхитектура
- 13 лет создаю приложения под iOS, отлично владею Objective-C и Swift.
- 9 лет руковожу большими командами мобильной разработки (Яндекс, Т-Банк, Сбер, RAMBLER&Co).
- 9 лет выступаю и организую IT-конференции (Merge, SberPractice, Rambler/iOS).
- 7 лет преподаю в школах iOS-разработки, автоматизации тестирования и менеджмента (Сбер, Нетология, Т-Банк, KTS).
Закончил с отличием miniMBA в СберУниверситете.
Для устойчивого развития проекта требуется правильная организация потоков данных и управления. Если на эту задачу не обращать внимания и положиться на случай, то со временем в программном коде появляются места с запутанной логикой, в которых даже опытному разработчику тяжело сориентироваться.
В своем докладе я покажу и расскажу, как с помощью такой абстракции, как конечный автомат, решить задачу управления сложным объектом со множеством внутренних состояний (контроллер нагруженного экрана, сервис получения данных из разных источников и т.д.) и как при этом не потеряться во множестве переходов. На наглядном примере я познакомлю слушателей с достоинствами и недостатками выбранного подхода и помогу определиться, когда его стоит, а когда не стоит применять.