Size: a a a

Kotlin Community

2020 February 13

VP

Vladimir Petrakovich in Kotlin Community
Ilya Nikolaev
Тип поменяется ?
Тип тот же, Int?. Но проверка на null не гарантирует, что в следующий раз там не будет null.
источник

SB

Sergey Barmin in Kotlin Community
Алексей Овсянников
class Example {
   val example: String?
       get() = if (randInt() > 50) "it's ok" else null
}
Я скинул выше скрин с другой ошибкой. Это нормальный вариант, значит компилятор умеет определять где геттер определен, а где просто проперти
источник

IN

Ilya Nikolaev in Kotlin Community
А если это в 1 модуле гарантирует ?
источник

АО

Алексей Овсянников in Kotlin Community
Он точно гарантирует это на уровне полей датаклассов
источник

VP

Vladimir Petrakovich in Kotlin Community
Ilya Nikolaev
А если это в 1 модуле гарантирует ?
Если это в одном модуле, то компилятор может точно знать, переопределён ли там геттер
источник

VP

Vladimir Petrakovich in Kotlin Community
А если нет, то даже если он не переопределён сейчас, может быть переопределён потом
источник

VP

Vladimir Petrakovich in Kotlin Community
Не говоря о том, что эта инфа вряд ли сохраняется в метаданные
источник

A

Agung55 in Kotlin Community
val user_status = (list.find{it.id==user.id} ?: return@map).status

Можно как-нибудь покрасивее написать?
источник

МР

Михаил Резниченко in Kotlin Community
Agung55
val user_status = (list.find{it.id==user.id} ?: return@map).status

Можно как-нибудь покрасивее написать?
для начала можно так написать:
val user = list.find{it.id==user.id} ?: return@map
val user_status = user.status
источник

A

Agung55 in Kotlin Community
Михаил Резниченко
для начала можно так написать:
val user = list.find{it.id==user.id} ?: return@map
val user_status = user.status
Но так 2 строчки и лишний val
источник

OY

Oleg Yukhnevich in Kotlin Community
val user_status = list.find{it.id==user.id}?.status ?: return@map ?
источник

VP

Vladimir Petrakovich in Kotlin Community
Agung55
val user_status = (list.find{it.id==user.id} ?: return@map).status

Можно как-нибудь покрасивее написать?
Для начала можно использовать camelCase для переменных
источник

A

Agung55 in Kotlin Community
Oleg Yukhnevich
val user_status = list.find{it.id==user.id}?.status ?: return@map ?
O,точно! Спасибо!
источник

OY

Oleg Yukhnevich in Kotlin Community
Vladimir Petrakovich
Для начала можно использовать camelCase для переменных
а вот кстати интересно, я не знаю, но может есть в каком detekt правила на именования переменных, классов и тд?
в идее вроде такое есть, но очень мало для чего
источник

VP

Vladimir Petrakovich in Kotlin Community
Oleg Yukhnevich
а вот кстати интересно, я не знаю, но может есть в каком detekt правила на именования переменных, классов и тд?
в идее вроде такое есть, но очень мало для чего
Не знаю, не пользовался им
источник

OY

Oleg Yukhnevich in Kotlin Community
https://github.com/arturbosch/detekt/blob/master/docs/pages/documentation/naming.md
есть, но вроде даже они пропустили бы val user_status
источник

A

Agung55 in Kotlin Community
А где можно использовать _ ?
источник

VP

Vladimir Petrakovich in Kotlin Community
Agung55
А где можно использовать _ ?
Тут есть некоторые примеры:
https://kotlinlang.org/docs/reference/coding-conventions.html#naming-rules
источник

VN

Vladislav Navrocky in Kotlin Community
А KOIN можно как-то заставить в компайл тайме проверять зависимости? Я понимаю что вопрос глупый, но а вдруг
источник

SB

Simon Belialov in Kotlin Community
Vladislav Navrocky
А KOIN можно как-то заставить в компайл тайме проверять зависимости? Я понимаю что вопрос глупый, но а вдруг
зачем?
источник