Sobes.tech
Middle+

Wat beschouw je als een tekortkoming in de code die je meteen zou willen vervangen?

sobes.tech AI

Antwoord van AI

Gebruik van findViewById in plaats van View Binding of Data Binding. findViewById is niet typeveilig en leidt tot overbodige code.

// Voorbeeld van gebruik van findViewById
val textView: TextView = findViewById(R.id.myTextView)
textView.text = "Hello"

Voorkeur opties:

// Voorbeeld van gebruik van View Binding
// Geactiveerd in build.gradle
// buildFeatures { viewBinding true }
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.myTextView.text = "Hello"
// Voorbeeld van gebruik van Data Binding
// Geactiveerd in build.gradle
// buildFeatures { dataBinding true }
// Layout wordt ingesloten in <layout> tag
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.myTextView.text = "Hello"

Ook let op:

  • Het ontbreken van handling van mogelijke null waarden.
  • De te grote omvang van een klasse of methode (schending van het principe van enkele verantwoordelijkheid).
  • Het gebruik van "magische" strings of nummers in plaats van constanten.
  • Duplicatie van code.
  • Het ontbreken van tests (unit, integratie).
  • Het gebruik van verouderde API's (bijvoorbeeld oude versies van Android support libraries).
  • Moeilijk te begrijpen en te onderhouden code zonder commentaar of met niet-informatieve commentaren.
  • Onjuist beheer van de levenscyclus van componenten (bijvoorbeeld geheugenlekken).

Deze punten wijzen vaak op potentiële problemen met betrouwbaarheid, onderhoudbaarheid en prestaties van de applicatie.