15 февраля Badoo PHP Meetup #4. Легаси
Привет!
15 февраля, в субботу, приглашаем на очередную встречу сообщества PHP-разработчиков в офисе Badoo.
Митап будет целиком и полностью посвящен легаси, и вот почему. Мы часто слышим утверждения из разряда «о легаси все уже сказано», «о чем там рассказывать», «ну есть оно и есть, ничего не поделаешь». Но в то же время все продолжают читать и без конца рефакторить устаревший код, а возвращаясь с очередной конференции — вдохновленными новыми идеями и подходами — громко вздыхать и пускать скупую слезу на свой репозиторий.
Мы пообщались с разработчиками крупных компаний и попросили поделиться опытом. На встрече обсудим процессные и автоматические, тактические и стратегические подходы для борьбы с этим неприятным явлением. Будем надеяться, что эта концентрация разных практик и взглядов на легаси упростит кому-то жизнь.
Регистрация по ссылке, обязательная (важно: пишите свои данные кириллицей). Не забудьте дождаться подтверждения участия, оно придет дней за 10 до митапа.
Первый доклад в 12:00. В программе пять докладов, практически не ограниченное свободное общение за кофе, викторина, розыгрыш билета на PHPRussia, а в качестве afterparty — очередная встреча сообщества BeerPHP Moscow.
«Безболезненная победа над legacy»
Антон Жуков, Area Tech Lead, ManyChat
«То, что вы сейчас называете новым кодом, разработанным с умом и с учетом текущего качества кодовой базы, через неопределенный срок превратится в legacy. Это срок может быть несколько недель, просто потому что новая фича не прошла A/B-тест. Может быть — несколько лет, когда страшный процедурный код, закрывший ряд проблем в моменте, оброс такими же страшными комитами, разросся до огромного компонента, который невозможно читать, но как-то надо поддерживать.
В докладе я расскажу о том, как провести рефакторинг legacy-кода без влияния на работу приложения, протестировать функциональность и производительность, а также бесшовно переключиться на новую версию в production».
«Итерационный подход в борьбе с legacy»
Алексей Коротин, тимлид команды «Платформа», SuperJob
«Легаси — неизбежное явление для любого крупного проекта, и SuperJob тут не исключение. Я расскажу о том, что вообще можно считать легаси, как мы последовательно боремся с ним в своём проекте и какие инструменты для этого используем.
- рассмотрим проблему легаси не только со стороны кода, но и со стороны данных;
- поговорим о том, как организовать код проекта так, чтобы легаси не мешал быстрой разработке новых фич;
- посмотрим на API как на способ изолировать плохой код от хорошего;
- обсудим инструменты и подходы для выявления устаревшего кода и устаревших данных.
«Мёртвый код: найти и обезвредить»
Данил Мухаметзянов, senior PHP-developer, Badoo
Главная проблема легаси, которую мы решаем, — это то, что инженеры бесполезно тратят время на чтение мёртвого кода.
Причины его появления в новом коде — интенсивная продуктовая разработка с поддержкой API для сотен версий различных клиентских приложений.
Данил расскажет, какие меры мы предпринимаем, чтобы контролировать процесс появления не вызываемого в бою кода:
- как заботимся об удалении завершенных А/Б тестов
- контролируем все доступные версии клиентов
- поддерживаем чистоту API
- автоматически находим мертвый код и информируем об этом разработчиков
«Тактика распила PHP-монолита»
Лакосников Павел, senior backend engineer в Авито
«Последние три года мы в Авито активно разделяем PHP-монолит на микросервисы. В процессе нашли много устаревших продуктовых и технологических решений — неактуальные хранилища, слишком «толстые» ответы, неиспользуемые методы API.
В докладе расскажу, как мы избавлялись от легаси: выносили словари и другую статику, выделяли интерфейсы, упрощали иерархию наследования и совершенствовали покрытие тестами. А ещё — как улучшаем то, что пока осталось в монолите.».
«Рефакторинг PHP-кода с применением DDD»
Виталий Чирков, senior backend developer, FunCorp
«Это доклад про рефакторинг PHP кода с использованием тактических паттернов DDD. Я покажу на примерах, с какими проблемами мы столкнулись, какие приёмы работают.
Цель — продемонстрировать подход к реанимации legacy-кода на основе DDD-примитивов и поделиться своим опытом его применения».
Адрес: Москва, Цветной бульвар, д. 2, подъезд А, Cafetera (1 этаж)
Регистрация гостей с 11:00
Начало докладов в 12:00.
В перерывах желающие могут посмотреть офис Badoo.
Пожалуйста, при регистрации указывайте свои имена и фамилии на русском языке. Для пропуска в БЦ захватите с собой документ, удостоверяющий личность.
Количество мест ограничено, обязательно дождитесь подтверждения регистрации (придет за пару недель до митапа).
Трансляция митапа
Трансляция будет на нашем YouTube-канале, анонсы будут в группах VK и FB. Записи опубликуем там же и в блоге на Habr.
Присоединяйтесь к чату митапа, там регулярно бывают интересные обсуждения!