Size: a a a

Android Developers

2021 August 14

А

Алексей in Android Developers
Это как?
источник

L

Leonid in Android Developers
Когда у вас толпа девелоперов, редактирующих один и тот же файл, то возможны разные интересные последствия.
источник

АГ

Алексей Гладков... in Android Developers
Прочитал, все равно непонятно) ну общая идея понятна, но это не делает lateinit или nullable timebomb. Это удобные инструменты языка почему бы ими не пользоваться. А написать говнокода можно и без этого )
источник

ОА

Оганнес Асатрян... in Android Developers
private fun viewModel()
источник

L

Leonid in Android Developers
Котлин, в отличие от Java, позволяет этого избежать. Если этим можно воспользоваться - то нужно пользоваться. Хочется делать как раньше в другом языке - тоже никто не запрещает.
источник

ОА

Оганнес Асатрян... in Android Developers
который стучится в вмфактори просто и берет вм
источник

L

Leonid in Android Developers
Это немного ограничивает возможности говнокодописания на уровне языка :)
источник

ОА

Оганнес Асатрян... in Android Developers
источник

АГ

Алексей Гладков... in Android Developers
В целом я сам сторонник избегания lateinit потому что он даёт защиты на этапе компиляции от ошибки инициализации, но nullable вполне себе compile time штука стабильная

Можно, конечно получить интересные эффекты, но это уже как обработаешь.
источник

ОА

Оганнес Асатрян... in Android Developers
источник

Н

Ник in Android Developers
Кто внедрял подписки в приложение? Для отключения рекламы, либо чтобы открыть дополнительные функции. Подскажите, есть может быть какие видео, любо статьи, где подробно и понятно это изложено. Желательно на русском)
источник

VS

Vadim Sedov in Android Developers
Смотря что вы подразумеваете под инициализацией. Все варианты что предложили выше от этого зависят. Если запускаете единоразовую инициализацию самой вьюмодели, то лучше onCreate (если вьюмодель переживает фрагмент, то обязательно проверять что это не пересоздание).
Если под инициализацией имеете ввиду подключение вьюхи (байндинг), то onCreateView. Если просто создание - то может быть и lazy, а если вьюмодель из архитектурных компонентов, то лучше специальное для таких дел delegated property из того же набора (by viewModels(), кажется)
источник

ОА

Оганнес Асатрян... in Android Developers
кодлабса есть по подпискам
источник

В

Виктор in Android Developers
Nullable не подразумевалось под time bomb, лишь lateinit. lateinit существует только из-за джавы и интеропа с ним. Не идиоматичненько его юзать, хотя никто никого не может заставить этого не делать)
источник

L

Leonid in Android Developers
У nullable другая проблема :) Он стимулирует не обрабатывать случай с нуллом. То есть написали ?. - и мы в домике. А то, что это может создать побочный эффект - не наша печаль 😀
источник

ОА

Оганнес Асатрян... in Android Developers
деклайн пулреквест сразу
источник

АГ

Алексей Гладков... in Android Developers
Я за это по рукам бью
Это должно быть в какой-нибудь Библии программиста.

Обрабатывай сука все кейсы
источник

ОА

Оганнес Асатрян... in Android Developers
делаем код конвеншн и го
источник

L

Leonid in Android Developers
А если запретить nullable без крайней необходимости, то руки программеров не пострадают 😀
источник

АГ

Алексей Гладков... in Android Developers
Мне кажется тут даже конвенция не нужна это просто признак плохого программиста
источник