Ответы пользователя по тегу Рефакторинг
  • Как пояснить клиенту что такое технический долг и рефакторинг?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Клиент понимает только цифры, ему плевать на качество кода ровно до той поры, пока поддержка кода не станет ему в копеечку лишнюю. Приведите ему реальные доводы ЗА рефакторинг выражающиеся профитом в денежном эквиваленте и вуаля. Ну а если этих доводов нет - только личное мироощущение, то нужен ли рефакторинг?

    Ну и коль уж мы про цифры, клиентов и технический долг, а как вы убедили клиента оплачивать вам время на написание тестов? Вы включаете это во время разработки при оценке стоимости? Что мешает заложить и рефакторинг критических мест. Вы не пишите тесты? Тогда о каком рефакторинге имеет смысл вести разговор? Тогда доводы должны быть просто железобетонные, что бы не тратить время на фул-тэст и поиск регрессий.
    Ответ написан
    1 комментарий
  • Какие знания и умения будут полезны для работы с чужим кодом?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Все то же самое что и для работы со своим кодом (рефакторинг нужен всем). А так же крепкие нервы.

    Почитайте книжек по рефакторингу, видео-лекции дяди Боба (Боб Мартин)...
    Ответ написан
    4 комментария
  • Как эффективно проводить отладку и рефакторинг PHP-кода?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Берем кусок проекта, покрываем его функциональными тестами, рефакторим.... Суть в итоге всеравно та же что и для проектов с ООП: изоляция изменений, разделение жирных функций на менее жирные (особенно актуально разделить функции выдающие шматок HTML на выходе, что бы потом можно было легко интерировать систему шаблонов).

    Ну а так от проекта зависит. Если нужно писать новый функционал, я бы еще обернул все это в HttpKernel симфоневский, и новый функционал писал бы уже на Symfony (если бюджет клиента позволяет, и если в этом есть смысл).
    Ответ написан
    Комментировать
  • Рефакторинг PHP кода

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почитайте экстримальное программирование Кента Бэка, там хорошо описаны основные паттерны для рефакторинга. Правда там больше в контексте TDD, но рефакторинг без тестов это всегда боль.

    Что до приведенного кода:
    введите отдельные сущьности вместо StdClass. Для клониварония можно использовать clone.

    А так нужно разбираться в бизнес логике. Но у вас сейчас слишком много кода, можно легко запутаться.
    Ответ написан
    Комментировать