История о том, как мы обновляли версию PHP в огромном монолите
Представилась мне такая возможность, в большой компании попробовать свои силы в обновлении версии PHP для монолита размером в 1 миллион 800 тысяч строк кода. Это действительно огромный проект, который писался множеством программистов довольно долгое время.
Для меня это был незабываемый опыт, и к тому же не каждому предоставляется шанс его получить.
Я довольно подробно описал его в статье на хабре, так что всем советую хотя бы бегло ознакомиться.
Подводя итог данного опыта советую всем:
- Сначала почистить весь свой код, и по возможности избавиться от сторонних библиотек, что бы потом меньше рефакторить.
- Использовать и настроить автоматические инструменты типа Rector
- Настроить разные статические анализаторы(Линтеры)
- Приложить усилия и покрыть функциональность тестами(как юнит так и приемочными)
- Ну и если время у вас позволяет то делать это все этапами. Например можно можно избавиться от деприкейтед методов которые исчезнут в следующих версиях заранее в основной ветке
- Обязательно продумайте план релиза, и согласуйте со всеми, с автоматизаторами, тестировщиками, и продукт менеджерами
Всем удачи, меньше багов и инцидентов в ваших проектах.