Size: a a a

Kotlin Community

2020 August 24

IO

Iaroslav Orlov in Kotlin Community
Andrew Mikhaylov
Ладно бы less lines, так на деле же
a?.let { it1 ->
       b?.let { it2 ->
           // ...
   }
}

против
if(a != null && b != null) {
   // ...
}
это если не сделать извращенский кодстайл, которые сжимает это в одну строку
источник

AN

Alexander Nozik in Kotlin Community
Anna Naumova
Спасибо огромное, попробую :)
Короче, лучше поговорите с тем, кто просил, и пусть объясняет, чего он (она) хочет. Использование let не является в общем случае признаком хорошего кода.
источник

AM

Andrew Mikhaylov in Kotlin Community
Iaroslav Orlov
это если не сделать извращенский кодстайл, которые сжимает это в одну строку
И завернуть его в маркеры, выключающие форматтер (+2 строки), либо материться каждый раз, когда автоформаттер используешь :)
источник

AM

Andrew Mikhaylov in Kotlin Community
Ну и if(x != null) — это не "джавовый if", да. Котлин и тут помогает смарткастами.
источник

IO

Iaroslav Orlov in Kotlin Community
я, кстати, выяснил, как именно я сломал котлин. там OOM, уххаха.
источник

IO

Iaroslav Orlov in Kotlin Community
источник

I

Igor in Kotlin Community
Нужно написать 90 строк непонятного кода?
источник

IO

Iaroslav Orlov in Kotlin Community
Igor
Нужно написать 90 строк непонятного кода?
что?
источник

IO

Iaroslav Orlov in Kotlin Community
я про то, что котлин 1.4 не может скомпилировать выражение из гиста
источник

IO

Iaroslav Orlov in Kotlin Community
из-за OOM
источник

I

Igor in Kotlin Community
Прям эту? Те если убрать хоть одну строчку из тех 90, то скомпилирует?
Те это минимально-воспроизводимый пример?
источник

IO

Iaroslav Orlov in Kotlin Community
Igor
Прям эту? Те если убрать хоть одну строчку из тех 90, то скомпилирует?
Те это минимально-воспроизводимый пример?
если оставить около 10-15 пар, то компилирует
источник

IO

Iaroslav Orlov in Kotlin Community
сейчас найду точно :)
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Есть такая штука, называется let-abuse (я термин только что выдумал, но явление старое). Заключается в том, что весь контроль управления меняют на однострочники. Не надо так делать
а в чём их проблема, если они понятные 🤔
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
а в чём их проблема, если они понятные 🤔
Вот в этом: https://t.me/kotlin_lang/203233
Они не понятные не фига, если городятся друг на друга.
источник

AL

Alexander Levin in Kotlin Community
саша сок #KotlinGang
а в чём их проблема, если они понятные 🤔
В том, что они не всегда самые понятные. if с двумя проверками в среднем случае намного понятнее let внутри let, особенно если смарт касты нормально могут работать.
источник

AN

Alexander Nozik in Kotlin Community
Больше того скажу, промежуточные переменные в большинстве случаев лучше однострочников. Городить все в цепочку где надо и где не надо - это такая довольно стандартная ямка для упадутия котлин-новичков.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Andrew Mikhaylov
Ладно бы less lines, так на деле же
a?.let { it1 ->
       b?.let { it2 ->
           // ...
   }
}

против
if(a != null && b != null) {
   // ...
}
ну там смарткаст
a?.let {
   a != null  // true
}
источник

с#

саша сок #KotlinGang... in Kotlin Community
но да, выглядит стрём, когда вложенность есть
источник

IO

Iaroslav Orlov in Kotlin Community
источник