История о том, как мы обновляли версию PHP в огромном монолите

Представилась мне такая возможность, в большой компании попробовать свои силы в обновлении версии PHP для монолита размером в 1 миллион 800 тысяч строк кода. Это действительно огромный проект, который писался множеством программистов довольно долгое время.

Для меня это был незабываемый опыт, и к тому же не каждому предоставляется шанс его получить.

Я довольно подробно описал его в статье на хабре, так что всем советую хотя бы бегло ознакомиться.

Подводя итог данного опыта советую всем:

  1. Сначала почистить весь свой код, и по возможности избавиться от сторонних библиотек, что бы потом меньше рефакторить.

  2. Использовать и настроить автоматические инструменты типа Rector
  3. Настроить разные статические анализаторы(Линтеры)
  4. Приложить усилия и покрыть функциональность тестами(как юнит так и приемочными)
  5. Ну и если время у вас позволяет то делать это все этапами. Например можно можно избавиться от деприкейтед методов которые исчезнут в следующих версиях заранее в основной ветке
  6. Обязательно продумайте план релиза, и согласуйте со всеми, с автоматизаторами, тестировщиками, и продукт менеджерами

Всем удачи, меньше багов и инцидентов в ваших проектах.