Работа с полиморфным поведением в большой кодовой базе GolangConf: Best practices

Программный комитет ещё не принял решения по этому докладу
Тигран Салуев
Joom

Закончил факультет ВМК МГУ в 2013 году, работал в рекомендациях Яндекс.Маркета. Сейчас - разработчик бэкенда и техлид в Joom.

tigran@saluev.com
Тезисы

Основным средством получения полиморфизма в Go являются интерфейсы. И хотя они несомненно очень удобны и позволяют добиться многого, с ростом кодовой базы и поддерживаемой функциональности их применимость может требовать пересмотра. Что делать, если интерфейс слишком большой и разнородный? Что делать, если полиморфная логика слишком сложная? Как подружить полиморфизм с оптимизациями, рефакторингами и микросервисной архитектурой? В своём докладе я расскажу, как организована наша кодовая база из 1M+ строк на Go, как мы используем и как не используем фичи Go, как добиваемся масштабируемой архитектуры на уровне кода и как проектируем API в проекте, где новые А/B-тесты запускаются каждый день.

Другие доклады секции GolangConf: Best practices