Chernichko
@Chernichko
Учусь.

С чего начать рефакторинг?

Есть проект - куча-мала. В том числе лично моего мала.

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

Никогда не делала рефакторинги, потому вопрос: с чего начать? Мне не надо переписывать весь проект за один день, пусть это будет растянутое по времени мероприятие.

Может начать с того, что убрать весь ненужный код из вьюверов? Но этим я могу изничтожить контроллеры в совсем.
Или сначала из контролеров убрать повторяющееся и неоптимальное?

Посоветуйте что-нибудь дельное, потому что от всего того что есть разбегаются глаза и опускаются руки)

Спасибо)
  • Вопрос задан
  • 2860 просмотров
Решения вопроса 4
@AlxMrz
Советую прочесть книгу "Рефакторинг существующего кода" Мартина Фаулера. Там достаточно неплохо освещен этот процесс.
Lander дал тебе неплохую ссылку. У меня самого она в закладках.
Также прочти про антипаттерны проектирования,т.е. о том, как делать не надо. https://sourcemaking.com/antipatterns - это ресурс по антипаттернам. На русском в поиске тоже можно найти информацию об этом.
Ну и напоследок отформатируй свой код в соответствии со стандартами твоего языка программирования. Для PHP это PSR-1 и PSR-2 (и другие PSR тоже желательно)
Ответ написан
@oxidmod
1. методом научного тыка выбираешь класс/компонент для рефакторинга.
2. Если он не покрыт тестами - покрываешь.
3. Рефакторишь.
4. ...
5. Все зеленое на тестах, повторяешь с пункта 1
Ответ написан
Найти в коде участок, от которого больше всего становится тошно, и начать с него.
Ответ написан
@xfg
Без знаний архитектурных принципов делать рефакторинг бессмысленно. Это будет переливание из пустого в порожнее. Уже упомянули прочитать и добавить MVC если его нет. Для CRUD-приложения будет достаточно. Потом можно почитать про GRASP и SOLID. Потом про DDD, которое дает целостное представление об архитектуре. Всё в контексте объектно-ориентированной парадигмы. Для других парадигм ничего посоветовать не могу, не достаточно опыта.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Для начала надо понять, каким должен быть код:
прочитать основные принципы MCV и основные принципы ООП, научиться писать комментарии в коде.
Если после этого вопрос останется - менять профессию.
Ответ написан
SV0L0Ch
@SV0L0Ch
Разработчик специализируюсь на Bitrix и Wordpress
Как вариант можно начать или с оптимизации и разгребания самых тормозных кусков, бывает, особенно в самописных решениях, что 90% всей нагрузки/времени выполнения приходится на 1-2 кривые функции вызывающихся на всех страницах. Я как-то рефакторил один самописный магазин, там самый ад был в построении меню из разделов каталога, где на каждый пункт перебиралась вся база в четырех вложенных циклах.
Еще можно начать с просто подробного комментирования кода, с пояснениями почему этот странный кусок реализован именно так, что передается, какие данные должны быть на выходе итп. В этом случае другим разработчикам будет проще подключиться к рефакторингу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы