Middle+
Коддогу кайсы кемчилик сиздин огоңузда, аны дароо алмаштыргыңыз келеби?
sobes.tech AI
AIден жооп
findViewById-нин орнина View Binding же Data Binding колдонуу. findViewById тип коопсуз эмес жана кодуңузду ашыкча кылат.
// findViewById колдонуу мисалы
val textView: TextView = findViewById(R.id.myTextView)
textView.text = "Hello"
Көбүнчө колдонулган варианттар:
// View Binding колдонуу мисалы
// build.gradleде активдештирилет
// buildFeatures { viewBinding true }
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.myTextView.text = "Hello"
// Data Binding колдонуу мисалы
// build.gradleде активдештирилет
// buildFeatures { dataBinding true }
// Layout `<layout>` теги менен курчалган
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.myTextView.text = "Hello"
Көңүл буруу керек:
- Мүмкүн болгон
nullмаанилерди иштетүү жок. - Бир класс же методдун өтө чоң болушу (бир жоопкерчиликтин бузулушу).
- "сыйкырдуу" саптар же сандарды колдонуу ордуна константтарды колдонуу.
- Кодду көчүрүп алуу.
- Тесттердин (бирдик, интеграция) жоктугу.
- Эски APIлерди колдонуу (мисалы, эски Android колдоо китепканаларынын версиялары).
- Түсүнүү жана тейлөө кыйын болгон код комментарийлерсиз же маалыматсыз комментарийлер менен.
- Компоненттердин жашоо циклин туура эмес башкаруу (мисалы, эс тутум агып кетүүлөрү).
Бул жагдайлар көбүнчө ишенимдүүлүк, тейлөө жана иштөө жөндөмдүүлүгү боюнча потенциалдуу көйгөйлөргө ишарат кылат.