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
nullhodnô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.