не потому, что выглядит убого писать так везде. Но создает возможность появлению непредвиденных состояний, когда лучше б крашнулось, чем отобразило вообще непонятное состояние экрана. Хорошо если без возможности получить доступ к каким-нибудь внутренним данным
а не надо позволять себе оставлять пустые кетч блоки
Она стремная когда "ну нулл тогда и делать ни фига не буду"
какие кэтч блоки? Речь про ?.let
Любые
имеется ввиду видимо ?: run { ченить сделаю }. скапитаню
let{} ?: run { сказать юзеру что что-то пошло по пизде }
ужасно
выглядит весьма странно, но мб и норм. Но речь шла про тупое использование ?.let { }
Почему?
А зачем тебе тупое использование let?)
зачем делать это через let & run, если можно нормально через иф сделать
да вверху где-то про такое было написано, к тому и речь была)
Возьмём всё тот-же пример с контекстом во фрагменте: context?.let { /*Do some stuff*/ } ?: run { /*handle this shit*/ } vs val context = context if(context != null) { doStuff() } else { doAnotherStuff() } А ещё лучше вынести работу с контекстом в нормальную функцию аля Context.doContextStuff() и будет самый правильный и красивый вариант context?.doContextStuff() ?: doSmth()
второй вариант очевидно лучше
внутри ифа можно сделать optionalValue = null
Но чем?
но вы приведите мне хоть один случай, когда надо так делать?
спросите в @kotlin_lang
Обсуждают сегодня