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

Привет всем! Правильно ли понимаю суть такой конструкции: в Dumpable

могу передать только тип, который может использоваться как конструктор (со словом new), при этом этот конструктор должен создавать класс, который содержит функцию getObject?

14 ответов

10 просмотров

Да, только тут Т лучше заинлайнить в Dumpable

Alexander- Автор вопроса
Хракс Мамцов
Да, только тут Т лучше заинлайнить в Dumpable

Что имеете в виду под "заинлайнить" (сорри, я новичок в ТС) и чем этот вариант лучше?

Заменить использования Т на то что он extends тем самым избавиться от дженерика

Хракс Мамцов
Заменить использования Т на то что он extends тем ...

Потомучто типо-параметр в честном дженерике должен встречаться минимум 2 раза, один при объявлении и остальные при использовании

И чем же она полезная? Любой хардкодинг типов - следствие непонимания базовых концепций. Хардкодинг может иметь смысла, когда что-то нельзя/не получается. Только вот это просто костыль для обхода проблем и применяется только тогда, когда нужен. Уж тем более не по умолчанию и уж тем более оно не полезно ни в каком виде

Roman R.
И чем же она полезная? Любой хардкодинг типов - сл...

В примере что мы обсуждаем Т входит 2 раза явно и один неявно, что подпадает под принцип который я пересказал

Хракс Мамцов
В примере что мы обсуждаем Т входит 2 раза явно и ...

Чего явно/не явно? Какой принцип? Принцип "я не знал" - это не принцип. Это попытка выдавать невежество за какие-то принципы. Есть ситуация, где тип может быть выведен/подставлен. Даже если в каком-то случае это не работает - это проблема языка. И это не значит, что нужно от этого отказываться в остальных случаях, а далее придумывать оправдания этому отказу

Нашёл годный спор. Будет что почитать с утра. Как перестать хардкодить типы? Прочитать может что? Я прочитал "TypeScript быстро", но этого кажется мало

Хардкодинг типов - это активное использование as ?

Nikolay Khodov
Хардкодинг типов - это активное использование as ?

Хардкодинг типов - это любая вставка типов куда-либо где это не требуется.

Roman R.
Хардкодинг типов - это любая вставка типов куда-ли...

А вот это хардкодинг куда попадает: function doSomething(t: Type): string { } а потом дальше идет (пусть там будет сложный маппинг и не хочется увеличивать вложенность): const t: Type = { .... } doSomething(t)

Nikolay Khodov
А вот это хардкодинг куда попадает: function doS...

Вот здесь, :string - это мусор всегда. const t: Type - это так же мусор всегда, но здесь есть нюансы. Т.к. наш язык не может вывести тип для t из doSomething(t) и если мы хотим получить какой-то асист в создании объекта по месту, то использование имеет смысла. Именно как починка недоработки языка.

Artyom Sultanov
Нашёл годный спор. Будет что почитать с утра. Как ...

давай ты не будешь больше поднимать старые треды где был срач чтоб этот срач опять не поднимать?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта