|
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469
|
|||||||||||
Правильно ли я провел рефакторинг сортировки на ООП?04.02.2023, 02:00. Показов 1530. Ответов 25
Метки нет (Все метки)
Благодаря местным сеньорам и тимлидам я понял, что этот говно-код:
Кликните здесь для просмотра всего текста
Нужно полностью подвергнуть рефакторингу, так как он не выполняет основные принципы ООП. То есть, код нужно разделить на части. Я освоил паттерн "Агрегация" благодаря которому я смог переписать код. Хотел бы узнать мнение местных сеньоров и тимлидов насчет того, правильно ли я переписал говно-код на нормальный код с использованием "Агрегация"? Теперь мои классы независимы друг от друга? Мой новый код: Кликните здесь для просмотра всего текста
P.S. Решил не устанавливать типы, так как PHP это язык с динамической типизацией данных(переменных), следовательно зачем тратить на это время, когда PHP сам все организует(или я чего-то не понимаю в этом?) А также выражаю безмерную благодарность Voral, liris, sad67man =)
0
|
|||||||||||
| 04.02.2023, 02:00 | |
|
Ответы с готовыми решениями:
25
Как правильно сделать рефакторинг Exceptions Уйти от повторения кода и правильно провести рефакторинг?
|
|
5512 / 1195 / 164
Регистрация: 16.01.2023
Сообщений: 2,841
|
|||
| 07.02.2023, 02:46 | |||
|
1) https://bhv.ru/product/php-8/ 2) https://www.labirint.ru/books/832441/ 3) https://refactoring.guru/ru/design-patterns/php 4) https://www.labirint.ru/books/642466/ 5) https://www.labirint.ru/books/634082/ Но не ограничивался этим списком. Добавлено через 1 минуту
1
|
|||
| 07.02.2023, 09:08 | ||||||||
я в том же сообщении написал "Чистая архитектура" Роберта Мартина . Уточню: книга вероятно будет сложно на данном этапе. Но, в принципе начало вполне можно почитать и вот часть 3 (про солид), а дальше как пойдет. (но потом обязательно еще раз перечитать осознанно)
0
|
||||||||
|
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469
|
|
| 07.02.2023, 20:50 [ТС] | |
|
voral а как называется техника, благодаря которой вы при помощи одного метода
вызывали цепочку других методов в своём начальном примере. Например $pipeline->run($dataArray) вызывает цепочку других методов из классов, которые агрированы в $pipeline
0
|
|
|
132 / 76 / 16
Регистрация: 08.07.2022
Сообщений: 309
|
||||||||||||||||||||||
| 07.02.2023, 21:19 | ||||||||||||||||||||||
|
Есть метод
Кликните здесь для просмотра всего текста
Этот метод вызывается подобным способом
0
|
||||||||||||||||||||||
| 07.02.2023, 21:54 | |||||||
|
1. код из SortCharFirstMiddleware 2. код из HtmlRenderMiddleware 3. код из DisplayMiddleware 4. код из HtmlRenderMiddleware 5. код из SortCharFirstMiddleware В данном конкретном случае это не имеет смысл, но теоретически можно добавить
А exceptionMiddleware по сути оборачивать весь код (кроме Profiler) в try ...catch PS Но повторюсь, до этого вы дойдете постепенно, не стоит сейчас в это углубляться
0
|
|||||||
|
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469
|
||
| 07.02.2023, 22:52 [ТС] | ||
|
voral
Просто запишу название, чтобы не забыть. Я всегда записываю названия интересных вещей в тетрадке. Кажется, этот паттерн называется Посредник(Mediator)? Вы же его использовали? Добавлено через 45 секунд xkkx Вы лучше скажите название этого паттерна =)
0
|
||
| 07.02.2023, 22:52 | |
|
Решение сортировки с ООП
Правильно ли выполнено задание? ООП Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|