Kotlin Multiplatform Broadcast
9.69K subscribers
864 photos
54 videos
1.17K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🏝 Важность форсирования написания кода, который валидируется компилятором до запуска

Иногда в проектах встречаю код:
class Sample(
val value1: Type1?,
val value2: Type2?,
) {

init {
require(
(value1 != null && value2 != null) ||
(value1 == null && value2 == null)
}
}

Минус такого подхода - проверка сработает только в рантайме, а на уровне написания кода легко допустить ошибку и лучше избежать ошибки.

class Sample private constructor(
val value1: Type1?,
val value2: Type2?,
) {

constructor(value1: Type1, value2: Type2): this(value1 as Type1?, value2 as Type2?)
constructor(): this(value1 = null, value2 = null)
}


#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍285🤔3