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

Неудивительно, что я не в курсе этих языков. Видимо поэтому

они настолько непопулярны)

От GC не так легко отказаться. А фиксят его постоянно)

> запрет юзеру чего не должен уметь

Так и должно быть, но не у ущерб читабельносте/простоте/поддержке. Например, я за полную статическую типизацию, но против того, что бы везде явно указывать типы, ведь в 99% случаев все, кроме аргументов функций, компилятор и так знает наперед. Так же и тут: я против того, что бы писать больше кода "просто так". Если это можно сделать проще - так и следует делать.

Все указанные варианты - либо сложнее, либо дольше.

- Трейтами вообще непонятно как правильно пользоваться, они идут вразрез з композицией и видимо поэтому были выпилены из котлина.
- Копипаст - бредятина. Чем меньше кода (без ущерба качеству) - тем лучше. Я всегда против лишней вербозности или лишних конструкций.
- Композиция тоже не к месту. Если речь о том, что бы вместо добавления метода в существующий интерфейс, создать другой интерфейс и добавить метод туда, то это как раз и есть костыль. Зачем разработчику юзеру-интерфейсов помнить (или искать) названия других интерфейсов? Зачем разработчику либы усложнять структуру? Зачем заставлять называть эти интерфейсы и вообще их создавать?

1 ответов

14 просмотров

> не у ущерб читабельносте/простоте/поддержке Как будто с дефолтной реализацией читабельность, простота и поддержка выше, чем без неё. Как я писал — как раз таки наоборот. К тому же деф. реализация ещё и подталкивает юзать один из антипаттернов, смысл которого заключается в изменении поведения унаследованного метода. > Все указанные варианты - либо сложнее, либо дольше Ну да, конечно, композиция и трейты сложнее дефолтной реализации. И дольше, ага... А о контроле и безопасности мы забываем. На них наплевать и это ни разу не важно. > они идут вразрез з композицией Шта? > Копипаст - бредятина. Чем меньше кода (без ущерба качеству) - тем лучше. Я всегда против лишней вербозности или лишних конструкций Последователи DRY-секты в треде? > Если речь о том, что бы вместо добавления метода в существующий интерфейс Нет, речь не об этом. Речь об добавлении нового класса, который реализует методы, которые не требуются в контракте (а именно так оно и есть с интерфейсами и деф. реализацией всяких utils/helpers, мало кому нужных). > Зачем разработчику юзеру-интерфейсов помнить (или искать) названия других интерфейсов? Речь была о другом, но отвечу... Правильно. Лучше нарушать ISP, объеденив кучи говна в одном месте. В том числе и "хелперы".

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

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

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
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта