![](https://habrastorage.org/webt/fp/lp/fd/fplpfderidthwmm4b0r6azjth8a.png)
Привет!
15 февраля, в субботу, приглашаем на очередную встречу сообщества PHP-разработчиков в офисе Badoo.
Митап будет целиком и полностью посвящен легаси, и вот почему. Мы часто слышим утверждения из разряда «о легаси все уже сказано», «о чем там рассказывать», «ну есть оно и есть, ничего не поделаешь». Но в то же время все продолжают читать и без конца рефакторить устаревший код, а возвращаясь с очередной конференции — вдохновленными новыми идеями и подходами — громко вздыхать и пускать скупую слезу на свой репозиторий.
Мы пообщались с разработчиками крупных компаний и попросили поделиться опытом. На встрече обсудим процессные и автоматические, тактические и стратегические подходы для борьбы с этим неприятным явлением. Будем надеяться, что эта концентрация разных практик и взглядов на легаси упростит кому-то жизнь.
Регистрация по ссылке, обязательная (важно: пишите свои данные кириллицей). Не забудьте дождаться подтверждения участия, оно придет дней за 10 до митапа.
Первый доклад в 12:00. В программе пять докладов, практически не ограниченное свободное общение за кофе, викторина, розыгрыш билета на PHPRussia, а в качестве afterparty — очередная встреча сообщества BeerPHP Moscow.
Программа
«Безболезненная победа над legacy»
Антон Жуков, Area Tech Lead, ManyChat
![](https://habrastorage.org/webt/tp/ml/aa/tpmlaanhxnna1no-fnzuwobpts8.png)
«То, что вы сейчас называете новым кодом, разработанным с умом и с учетом текущего качества кодовой базы, через неопределенный срок превратится в legacy. Это срок может быть несколько недель, просто потому что новая фича не прошла A/B-тест. Может быть — несколько лет, когда страшный процедурный код, закрывший ряд проблем в моменте, оброс такими же страшными комитами, разросся до огромного компонента, который невозможно читать, но как-то надо поддерживать.
В докладе я расскажу о том, как провести рефакторинг legacy-кода без влияния на работу приложения, протестировать функциональность и производительность, а также бесшовно переключиться на новую версию в production».
«Итерационный подход в борьбе с legacy»
Алексей Коротин, тимлид команды «Платформа», SuperJob
![](https://habrastorage.org/webt/25/i3/zf/25i3zfy0eb1ucqx5y_cyo7o01zk.png)
«Легаси — неизбежное явление для любого крупного проекта, и SuperJob тут не исключение. Я расскажу о том, что вообще можно считать легаси, как мы последовательно боремся с ним в своём проекте и какие инструменты для этого используем.
- рассмотрим проблему легаси не только со стороны кода, но и со стороны данных;
- поговорим о том, как организовать код проекта так, чтобы легаси не мешал быстрой разработке новых фич;
- посмотрим на API как на способ изолировать плохой код от хорошего;
- обсудим инструменты и подходы для выявления устаревшего кода и устаревших данных.
«Мёртвый код: найти и обезвредить»
Данил Мухаметзянов, senior PHP-developer, Badoo
![](https://habrastorage.org/webt/z8/n7/ba/z8n7bavqvqyqwu3jzcw6xeusbfo.png)
Главная проблема легаси, которую мы решаем, — это то, что инженеры бесполезно тратят время на чтение мёртвого кода.
Причины его появления в новом коде — интенсивная продуктовая разработка с поддержкой API для сотен версий различных клиентских приложений.
Данил расскажет, какие меры мы предпринимаем, чтобы контролировать процесс появления не вызываемого в бою кода:
- как заботимся об удалении завершенных А/Б тестов
- контролируем все доступные версии клиентов
- поддерживаем чистоту API
- автоматически находим мертвый код и информируем об этом разработчиков
«Тактика распила PHP-монолита»
Лакосников Павел, senior backend engineer в Авито
![](https://habrastorage.org/webt/dk/kv/9e/dkkv9epugul2ovsnmsntwzqtxlk.png)
«Последние три года мы в Авито активно разделяем PHP-монолит на микросервисы. В процессе нашли много устаревших продуктовых и технологических решений — неактуальные хранилища, слишком «толстые» ответы, неиспользуемые методы API.
В докладе расскажу, как мы избавлялись от легаси:? выносили словари и другую статику, выделяли интерфейсы, упрощали иерархию наследования и совершенствовали покрытие тестами. А ещё — как улучшаем то, что пока осталось в монолите.».
«Рефакторинг PHP-кода с применением DDD»
Виталий Чирков, senior backend developer, FunCorp
![](https://habrastorage.org/webt/ol/gi/c7/olgic7dbvb-t2c97gbykhnbemqe.png)
«Это доклад про рефакторинг PHP кода с использованием тактических паттернов DDD. Я покажу на примерах, с какими проблемами мы столкнулись, какие приёмы работают.
Цель — продемонстрировать подход к реанимации legacy-кода на основе DDD-примитивов и поделиться своим опытом его применения».
![](https://habrastorage.org/getpro/habr/post_images/82e/5ff/d86/82e5ffd8661dd5bfe93b961d9ab76e03.jpg)
Адрес: Москва, Цветной бульвар, д.2, подъезд А, Cafetera (1 этаж)
Регистрация гостей с 11:00
Начало докладов в 12:00.
В перерывах желающие могут посмотреть офис Badoo.
Пожалуйста, при регистрации указывайте свои имена и фамилии на русском языке. Для пропуска в БЦ захватите с собой документ, удостоверяющий личность.
Количество мест ограничено, обязательно дождитесь подтверждения регистрации (придет за пару недель до митапа).
Трансляция митапа
Трансляция будет на нашем YouTube-канале, анонсы будут в группах VK и FB. Записи опубликуем там же и в блоге на Habr.
Присоединяйтесь к чату митапа, там регулярно бывают интересные обсуждения!
qant
Видео выступлений будет?
alinaleena
Трансляция будет на нашем YouTube-канале, анонсы будут в группах VK и FB. Записи опубликуем там же и в блоге на Habr.