Alex_Wells
@Alex_Wells
PHP/Kotlin

Разбить God class?

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 14:10
500 руб./за проект
19 апр. 2024, в 13:31
10000 руб./за проект