169 похожих чатов

Кол-Во такое же. Как было N методов, так и осталось

N методов. Вообще такие ситуации - это нонсенс. Разработчики библиотек обязаны писать об этом в апгрейд гайд и менять название/неймспейс интерфейса, а пользователи - читать гайд и адаптироваться под изменения.

> Не буду писать сколько из них забивают, а сколько из них не знают или не понимают. Как после этого можно назвать подход "простым"?

Меняя название/неймспейс, ты почти гарантируешь то, что никто не проебеться. Так или иначе, я не собираюсь говорить, что фича говно, только потому что есть 0.001% дебилов, не понимающих, что нужно смотреть в апгрейд гайд когда апгрейдишь мажорные версии зависимостей.

> Я уже писал, что мешает. Мешает невозможность отказа от ненужных методов, добавленных в класс и инстансы класса через дефолтные методы интерфейсов.

што? Еще раз: я сказал, что композицию МОЖНО использовать вместе с наследованием. Причем тут интерфейсы?

Да и даже говоря об интерфейсах, я уже говорил, что это не "ненужные методы", а часть контракта.

> В трейтах этот момент уже не говно, я уже писал. Почему в трейтах не говно? Потому что от трейта ты можешь отказаться, а от деф. методов в интерфейсе — нет.

Не используй гавно-интерфейс? Не пиши гавно-интерфейс? Не понимаю, в чем проблема. Ты что, считаешь что можно физически ограничить разработчиков от написания гавно-кода? Нельзя.

Можно минимизировать риски проеба мидла+ за счет фич типа типизации и написания тестов, но если какой-то мудак захочет написать говно, то его удержит только ревью его пулл реквеста в мастер. Гавно можно написать не только с помощью дефолтных реализаций.

2 ответов

30 просмотров

> Разве можно физически ограничить... Если в языке не дать реализовывать методы в интерфейсе, то это как раз физически ограничивает от написания говнокода в интерфейсе. Семь раз подумаешь и SPI сделаешь или явно мажор выпустишь вместо того, чтобы не парясь молча дефолтное чудо в кучу докинуть.

> ...что есть 0.001% дебилов, не понимающих, что нужно смотреть апгрейд гайд То есть вы сначала топите, что существуют джентльмены, которые не могут посмотреть апгрейд гайд, чтобы увидеть BC-добавление метода в интерфейс в релизе. И что для их комфорта обязательно надо запилить дефолтные методы во все языки как это специально для них сделали в Джаве... ...ведь они охвачены фобией мажорных релизов и после апдейта не могут прочитать ошибку компиляции method not implemented и вручную дописать у себя return false, так как у них лапки... ...а теперь их же называете дебилами, не читающими апгрейд гайд о неBC-переименовании дефолтного метода, так как при таком переименовании isSmth() их код молча без ошибки not implemented (то есть неявно) начнёт работать не совсем так? Забавно :)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта