Pull to refresh
1
0
Павел Степанец @stepps

Архитектура, разработка, GoLang, PHP, Symfony

Send message
Не секрет
Файлов 281
LoC 89058
LLoC 41695
Классов 126 (из них абстрактный только один)

Юнит-тестирование было практически невозможным, использовали Сodeception и Selenium. Про тестирование легаси особо сказать нечего, покрыт был наиболее критичный функционал.
Про тестирование нового функционала могу заметить — сначала все тесты жили в папке проекта, потом поняли, что многие из них нужно держать в конкретных бандлах.
Если сравнивать с легаси, то производительность даже выросла. Наш предшественник не много уделял внимания производительности. Например, был класс проверяющий права пользователя, который лазил в базу, кеширования никакого не было, соответственно, на каком-нибудь хитром ui, где нужно было проверять показывать или нет кнопки пользователю, выходило несколько сотен запросов. Самая жесть была на странице, где выводился график всех пользователей с задачами (примерно как в гугл-календаре), там было около 30к запросов.
Так что провести сравнение до/после доктрины возможности не было.
Для аутентификации и для сохранения форм фильтров. Не припомню, каких-то особых проблем с сессией. Сложнее security было натянуть на существующую логику авторизации.
Закастомизировали ControllerResolver, он подцеплял легаси контроллеры. Новый функционал писали уже в стиле Symfony, чтобы потом безболезненно к фреймфорку зацепить. Попутно внедряя компоненты типа DI, Security, Twig. Как переехали на Symfony, стали в бандлах писать. А вот совсем недавно весь легась был полностью выпилен! ))
Двое нас, полгода примерно. Без фичефриза.

Information

Rating
Does not participate
Location
Кемерово, Кемеровская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 400,000 ₽
OOP
Designing application architecture
Golang
PHP
SQL
Docker
CI/CD
RabbitMQ