Задать вопрос
Alex_Wells
@Alex_Wells
PHP/Kotlin

Разбить God class?

Здравствуйте. Написал пакет для парсинга документации, в результате всю работу делает один "God class". Некоторые методы просто огромны. Вот пример метода: тык

Трейты - не выход, так как нормальной поддержи автокомплита у них нет (только паблик свойства и методы). Тэг Laravel прикрепил потому что не знаю, есть ли в laravel какие-то штуки, которые помогут с этим.

Вопрос: какие есть практики, что прочитать/посмотреть, какой код перерыть что бы иметь понятие о том, как это сделать правильно? Правильно это так, что бы не стыдно показать и с возможностью покрыть юнит тестами (сейчас только фичер).

Заранее спасибо.

UPD: Вот еще прикрутил CI один, так RouteWrapper портит оценку с A на F (минимально возможную) исключительно из-за сложности класса: тык
  • Вопрос задан
  • 400 просмотров
Подписаться 4 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@red-barbarian
навскидку (не разбираясь с логикой класса)
у тебя много методов зависят просто от $this->route
их уже можно выделить в один класс.
если есть аналогичные моменты от других переменных поступать также.
Вообщем разбиение делается так: анализ структуры класса и выделение подсттруктур переменных + методов. Эти подструктуры будут внутренне сильно связаны. И слабо связаны между собой. Это будет намек, что можно выделять классы из текста.
Пониманию структуры может помочь анализ ответственности год-класса.
Как бы первое, что нужно сделать. Остальное станет ясным по мере разбиения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽