Size: a a a

Kotlin Community

2019 November 01

SB

Sergey Barmin in Kotlin Community
Никита ✓
Т.е. лучше это всё убрать что напридумывал и дёргать непосредственно nullable переменную, я правильно понял?
нет, поле сделать не нулабельным, и при присвоении явно делать ?: false
источник

AL

Alexander Levin in Kotlin Community
Никита ✓
Т.е. лучше это всё убрать что напридумывал и дёргать непосредственно nullable переменную, я правильно понял?
Ну скорее просто избавиться от null, а вместо него сделать default parameter:
class SomePojo(val bigList: Boolean = false)
источник

QH

Quantum Harmonizer in Kotlin Community
кроме «да» и «нет» вполне может быть состояние «не знаю» :)
источник

AO

Alexey Otts in Kotlin Community
Тут надо от кейса плясать, если не нужна логика при отсутсвии значения, то да ненулябельным надо делать
источник

AL

Alexander Levin in Kotlin Community
Ну да. Т.е. если подавать на вход в pojo nullable, но использовать всегда non-nullable, то наверное стоит просто хранить non-nullable :)
Если нужно и то, и другое - я бы скорее тогда на месте использования делал ?: false или == true, но это вкусовщина, можно конечно и расширение накинуть.
источник

AO

Alexey Otts in Kotlin Community
Alexander Levin
Ну да. Т.е. если подавать на вход в pojo nullable, но использовать всегда non-nullable, то наверное стоит просто хранить non-nullable :)
Если нужно и то, и другое - я бы скорее тогда на месте использования делал ?: false или == true, но это вкусовщина, можно конечно и расширение накинуть.
Расширение можно накидывать для читаемости, тут же вообще что то странное
источник

Н

Никита ✓ in Kotlin Community
Sergey Barmin
нет, поле сделать не нулабельным, и при присвоении явно делать ?: false
там gson эту pojo собирает)
источник

QH

Quantum Harmonizer in Kotlin Community
ууу блин, ещё мапперов не хватало
источник

VP

Vladimir Petrakovich in Kotlin Community
Никита ✓
там gson эту pojo собирает)
Лучше объяснить Gson, как это надо делать правильно, чем править код
источник

QH

Quantum Harmonizer in Kotlin Community
источник

Н

Никита ✓ in Kotlin Community
А вообще, что лучше читается? Что лучше использовать, функции или вот такие переменные?
fun selectedValues(): List<Value> {
   return values.filter { it.selected }
}

Или
val selectedValues: List<Value>
       get() = values.filter { it.selected }
источник

VP

Vladimir Petrakovich in Kotlin Community
Никита ✓
А вообще, что лучше читается? Что лучше использовать, функции или вот такие переменные?
fun selectedValues(): List<Value> {
   return values.filter { it.selected }
}

Или
val selectedValues: List<Value>
       get() = values.filter { it.selected }
источник

Н

Никита ✓ in Kotlin Community
Спасибо)
источник

Н

Никита ✓ in Kotlin Community
Хмм. Судя по этому, вариант с пропертей тут лучше?
источник

QH

Quantum Harmonizer in Kotlin Community
Никита ✓
Хмм. Судя по этому, вариант с пропертей тут лучше?
твой selectedValues сейчас работает за n памяти и O(n) времени, поэтому пропертя считается неуместной
источник

Н

Никита ✓ in Kotlin Community
Ага, понял, спасибо
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
твой selectedValues сейчас работает за n памяти и O(n) времени, поэтому пропертя считается неуместной
Я бы не сказал так однозначно, пропертю можно сделать lazy и реюзать. Я бы сказал, что четкого критерия где делать порпертю, а кгде метод нет.
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
твой selectedValues сейчас работает за n памяти и O(n) времени, поэтому пропертя считается неуместной
будто что-то плохое
источник

VP

Vitaly Peryatin in Kotlin Community
Почему несмотря на наличие в coroutineScope SupervisorJob исключение IOException долетает до родителя?
источник

VP

Vitaly Peryatin in Kotlin Community
Или внутренние скоупы уже без SupervisorJob запускают корутину?
источник