Sobes.tech
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ı null değ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.