Мнение Программного комитета о докладе
Полиморфизм в Go очень странный, да. Применение его в большом проекте сопряжено с проблемами, неочевидными на старте. Можно ли обойтись без полиморфизма? Нет! Что же делать? Слушать этот доклад!
Доклад принят в программу конференции
Полиморфизм в Go очень странный, да. Применение его в большом проекте сопряжено с проблемами, неочевидными на старте. Можно ли обойтись без полиморфизма? Нет! Что же делать? Слушать этот доклад!
Основным средством получения полиморфизма в Go являются интерфейсы. И хотя они, несомненно, очень удобны и позволяют добиться многого, с ростом кодовой базы и поддерживаемой функциональности их применимость может требовать пересмотра. Что делать, если интерфейс слишком большой и разнородный? Что делать, если полиморфная логика слишком сложная? Как подружить полиморфизм с оптимизациями, рефакторингами и микросервисной архитектурой?
В своём докладе я расскажу, как организована наша кодовая база из 1M+ строк на Go, как мы используем и как не используем фичи Go, как добиваемся масштабируемой архитектуры на уровне кода и как проектируем API в проекте, где новые А/B-тесты запускаются каждый день.
Закончил факультет ВМК МГУ в 2013 году, работал в рекомендациях Яндекс.Маркета. Сейчас разработчик бэкенда и техлид в Joom.
Joom
GolangConf: Architecture and frameworks