Sobes.tech
Middle+

Čo považuješ za nedostatok v kóde, ktorý by si chcel okamžite nahradiť?

sobes.tech AI

Odpoveď od AI

Použitie findViewById namiesto View Binding alebo Data Binding. findViewById nie je typovo bezpečné a vedie k nadbytočnému kódu.

// Príklad použitia findViewById
val textView: TextView = findViewById(R.id.myTextView)
textView.text = "Hello"

Preferované možnosti:

// Príklad použitia View Binding
// Aktivuje sa v build.gradle
// buildFeatures { viewBinding true }
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.myTextView.text = "Hello"
// Príklad použitia Data Binding
// Aktivuje sa v build.gradle
// buildFeatures { dataBinding true }
// Rozloženie je obalené v tagu <layout>
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.myTextView.text = "Hello"

Taktiež je potrebné zvážiť:

  • Chýbajúce spracovanie možných null hodnôt.
  • Príliš veľká veľkosť jednej triedy alebo metódy (porušenie princípu jednotnej zodpovednosti).
  • Použitie "magických" reťazcov alebo čísel namiesto konštánt.
  • Duplicita kódu.
  • Chýbajúce testy (jednotkové, integračné).
  • Použitie zastaraných API (napríklad staré verzie knižníc podpory Android).
  • Kód, ktorý je ťažko pochopiteľný a udržiavateľný bez komentárov alebo s neinformatívnymi komentármi.
  • Nesprávne riadenie životného cyklu komponentov (napríklad úniky pamäte).

Tieto body často naznačujú potenciálne problémy s spoľahlivosťou, udržiavateľnosťou a výkonom aplikácie.