Size: a a a

Kotlin Community

2019 November 01

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
NPE - всегда плохо. Тогда уж надо делать ?: error("...")
Ну это как бы явный баг в коде, поэтому NPE вполне норм. Стек-трейс покажет, что пошло не так.
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Ну это как бы явный баг в коде, поэтому NPE вполне норм. Стек-трейс покажет, что пошло не так.
Теоретически можно сделать свой скоуп аналогичный GlobalScope, в котором не будет джоба
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Теоретически можно сделать свой скоуп аналогичный GlobalScope, в котором не будет джоба
Возвращаемся к тому, что делать так не стоит
источник

AN

Alexander Nozik in Kotlin Community
Вообще, вопрос соглашений, конечно, но я принадлежу к тому лагерю, который считает, что !! для битья по рукам использовать не стоит
источник

VP

Vladimir Petrakovich in Kotlin Community
Либо он будет аналогичен GlobalScope в плане жизненного цикла
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Вообще, вопрос соглашений, конечно, но я принадлежу к тому лагерю, который считает, что !! для битья по рукам использовать не стоит
Ну не добавлять же в каждом случае, когда null - это ненормальное или недостижимое состояние, но компилятор об этом не знает, подробное описание с ?: error("...")
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Ну не добавлять же в каждом случае, когда null - это ненормальное или недостижимое состояние, но компилятор об этом не знает, подробное описание с ?: error("...")
why not? Это весьма редкий случай в котлин.
источник

AN

Alexander Nozik in Kotlin Community
Это на случай, когда недостижимое состояние все-таки достигнуто и надо понять, что случилось.
источник

AN

Alexander Nozik in Kotlin Community
Ну и код лучше читается
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Это на случай, когда недостижимое состояние все-таки достигнуто и надо понять, что случилось.
Да, пожалуй, хорошая практика
источник

VP

Vladimir Petrakovich in Kotlin Community
Но по-моему, сообщения, которые вызывает !!, довольно информативны, хоть и не объясняют, откуда же там null
источник

КР

Кирилл Романенко in Kotlin Community
Vladimir Petrakovich
Но по-моему, сообщения, которые вызывает !!, довольно информативны, хоть и не объясняют, откуда же там null
Когда я вижу в коде !! у меня возникает ощущение, что автор просто забил. "Так надо".
источник

I

Igor in Kotlin Community
А как получить скоуп текущей suspend функции?
источник

КР

Кирилл Романенко in Kotlin Community
Igor
А как получить скоуп текущей suspend функции?
Вроде как coroutineScope.
источник

VP

Vladimir Petrakovich in Kotlin Community
Igor
А как получить скоуп текущей suspend функции?
Ну так-то не должно такого желания возникать
источник

VP

Vladimir Petrakovich in Kotlin Community
А то так недалеко и до запуска дочерних Job в обход всей structured concurrency
источник

VP

Vladimir Petrakovich in Kotlin Community
Но Job вытащить из coroutineContext никто не может помешать
источник

КР

Кирилл Романенко in Kotlin Community
Vladimir Petrakovich
Ну так-то не должно такого желания возникать
Почему? А если я хочу внутри суспенд функции запустить два асинка и тут же их дождаться?
источник

VP

Vladimir Petrakovich in Kotlin Community
Кирилл Романенко
Почему? А если я хочу внутри суспенд функции запустить два асинка и тут же их дождаться?
coroutineScope { } и прочие штуки, которые создают новый скоуп на месте
источник

VP

Vladimir Petrakovich in Kotlin Community
Либо принимать его явно
источник