@Alk90
php, mysql, jquery, css, html, api

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

Всем привет! Когда начинал изучать php, везде призывали к тому, чтобы код ни в коем случае не дублировался... Мол будешь изменять что-то и придется ползать по файлам и изменять одно и то же везде, и где-то забудется...
Но никто не упоминал о другой стороне медали...
Как вы боретесь с такой ситуацией? Когда хочется изменить этот единственный код для одной части приложения, и меняя его затрагиваются те, о которых я уже не помню. В итоге всё ломается...
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 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 может быть даже анти практикой.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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