то это как раз физически ограничивает от написания говнокода в интерфейсе.
От этого - да, спасает. А вообще от говна не спасает. Еще раз: страдать из-за одного дауна я не собираюсь.
> вручную дописать у себя return false, так как у них лапки...
Они это не обязаны делать и не во время апдейта, а вообще при использовании интерфейса. Суть не только в BC! Вот тот пример с Rule: у нас в проекте пока 82 два правила, и.е. implements Rule. В каждом реализовывать метод, только потому что, есть какие-то фантомные джуны, которые не умеют нормально этим пользоваться?
> начнёт работать не совсем так?
Я уже об этом говорил. Артем хотя бы читал мои ответы, а ты - тупо игнорируешь.
При добавлении дефолтной имлементации в существующий метод, задача АВТОРА ИНТЕРФЕЙСА сделать так, что бы все осталось
по прежнему, и.е. ровно так же, как было до его изменений.
> А, ок. Что русскому "костыль" и "говнокод", то немцу "компромисс" и "хорошее решение проблемы". Политкорректность.
Я последний человек, которого стоит называть политкорректным. Говорю то, что думаю.
Фичи в ПХП не костыли (кроме трейтов) - потому что костыль это неидеальное, временное решение проблемы. Те же аттрибуты - тоже компромисны, но это не значит, что они - костыль, только то, что они недоделаны.
> У нас в проекте пока 82 правила Ну так сделайте все 82 extends BaseRule implements Rule и туда любые дефолты пишите, если лень в каждый добавлять. > которые не умеют этим пользоваться Ну так и мы взаимно не хотим страдать от персон, которые не умеют абстрактными классами и версионированием пользоваться и которым очень надо поэтому загадить интерфейс реализацией.
Обсуждают сегодня