Middle+
რა შეცდომებს მიიჩნევთ კოდში, რომლებსაც გსურთ დაუყოვნებლივ შეცვალოთ?
sobes.tech AI
პასუხი AI-სგან
findViewById-nin yerine View Binding veya Data Binding kullanmak. findViewById tip güvenli değildir ve gereksiz kodlara yol açar.
// findViewById kullanımı örneği
val textView: TextView = findViewById(R.id.myTextView)
textView.text = "Hello"
Tercih edilen seçenekler:
// View Binding kullanımı örneği
// build.gradle'da etkinleştirilir
// buildFeatures { viewBinding true }
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.myTextView.text = "Hello"
// Data Binding kullanımı örneği
// build.gradle'da etkinleştirilir
// buildFeatures { dataBinding true }
// Layout `<layout>` etiketi içine alınır
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.myTextView.text = "Hello"
Ayrıca, dikkate alınması gerekenler:
- Olası
nulldeğerlerin işlenmemesi. - Çok büyük sınıf veya metod kullanımı (tek sorumluluk ilkesi ihlali).
- "Sihirli" dizgeler veya sayılar yerine sabitler kullanmak.
- Kod tekrarları.
- Testlerin (birim, entegrasyon) olmaması.
- Eski API'lerin kullanımı (örneğin, eski Android destek kitaplıkları sürümleri).
- Yorumlar veya yetersiz açıklamalarla anlaşılması ve bakımı zor kod.
- Bileşenlerin yaşam döngüsünün yanlış yönetimi (örneğin, bellek sızıntıları).
Bu noktalar, uygulamanın güvenilirliği, sürdürülebilirliği ve performansı ile ilgili potansiyel sorunlara işaret eder.