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

Наткнулся на коммент под https://medium.com/bumble-tech/data-classes-in-kotlin-the-real-impact-of-using-it-6f1fdc909837 “People just use Kotlin without understanding

how it affects the whole app. Common mistakes are ?.let instead of null check, extension functions for primitive types, lazy for UI initialization. Sequence Api is black magic”
Я тут призадумался на счет правдивости.
1) let же оптимизируется инлайном, следовательно не несет каких-то доп затрат.
2) Экстеншены для примитивов разве не такими же статик методами реализуются?
3) Хз что имело ввиду, но вероятно ненужные затраты на лямбда-функции. Это правдиво.
4) Sequence - ну тут вообще сложно что-то сказать, так как без примера особо не понятно с чем сравнение.

10 ответов

11 просмотров

1) это просто некрасиво 2) ну тут спорно, поинт автора не в производительности заключается, а в манкипатчинге, которого гет 3) так и есть, не нужные объекты на лямбды 4) сиквенсы это компиляторная магия (точнее суспенды - магия, а сиквенсы просто на них построены), потому что там можно делать val sequence = sequence { yield(computation()) yield(computation2() } и потом sequence.take(1) вернёт первый computation без выполнения computation2 (лямбда выполнится не до конца, а после следующего take(1) закончит выполнение)

Gor- Автор вопроса
Aλex Sokol
1) это просто некрасиво 2) ну тут спорно, поинт а...

В каком месте лет не красивый? Делать отдельную переменную под something.thing для работы с ней красивше?

Gor
В каком месте лет не красивый? Делать отдельную п...

уже много раз поднимали этот вопрос, и я в начале был на позиции, что ?.let это круто. но в большинстве случаев проверки на нулл красивее.

Gor- Автор вопроса
Aλex Sokol
уже много раз поднимали этот вопрос, и я в начале ...

Вообще, красивее это явно не аргумент спора, это как минимум вкусовщина, я же говорю что инлайн убирает оверхед, тогда особо проблем с летом не остается

Gor
Вообще, красивее это явно не аргумент спора, это к...

invokedynamic на лямбду тоже убирает оверхед, но мне кажется, что претензия к let в том, что его неправильно используют и делают говнокод

Iaroslav Postovalov
Ты где в котлине indy нашел?

Кроме как в конкатенации строк

Aλex Sokol
а, я дурак значит :)

Не, issue и правда есть

Iaroslav Postovalov
Кроме как в конкатенации строк

Ещё для fun interface в 1.5 есть вроде

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

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

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