Задать вопрос
@Alk90
php, mysql, jquery, css, html, api

Как решить проблемы с НЕ дублированием кода?

Всем привет! Когда начинал изучать php, везде призывали к тому, чтобы код ни в коем случае не дублировался... Мол будешь изменять что-то и придется ползать по файлам и изменять одно и то же везде, и где-то забудется...
Но никто не упоминал о другой стороне медали...
Как вы боретесь с такой ситуацией? Когда хочется изменить этот единственный код для одной части приложения, и меняя его затрагиваются те, о которых я уже не помню. В итоге всё ломается...
  • Вопрос задан
  • 118 просмотров
Подписаться 3 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
@sidni
Php Developer
Сложно ответить сумбурный вопрос.
Но если в кратце.
Когда хочется изменить этот единственный код

Это не означает что у вас весь уникальный код в одной функции, методе или объекте, их может быть сотни (максимально не зависимых друг от друга) как конструктор или луковица объеденные в один функционал (S в абривиатуре SOLID) поскольку функционал может разный то и состовляюшие (элементы) могут по разному комбинироваться и поэтому когда хочется что то поменять в идеале вы заходите в метод длинною около 20 строк и спокойно меняете не боясь что то сломать.
Ответ написан
Комментировать
VladimirAndreev
@VladimirAndreev
php web dev
Есть метод getWhatever(), который общий для всех.
Вы можете в конкретном классе реализовать свой getWhatever(), в котором написать parent::getWhatever() и модифицировать общий результат до частного случая.
getWhatever() не должен быть private и final
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
SOLID.
DRY - хортшая практика, но не везде применима. Например у вас есть две в чем-то похожие сушности, далеко не факт что их стоит наследовать от общего родителя иили объединять сервисы что с ними работают. При написании тестов DRY может быть даже анти практикой.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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