Sobes.tech
Middle+

Android өнүктүрүүдө антипаттерндер жөнүндө айтып бер.

sobes.tech AI

AIден жооп

  • Узак мөөнөттүү операциялар үчүн AsyncTask колдонуу (жакшыраак Kotlin Coroutines же RxJava колдонуу).
  • View/Contextти ViewModelге өткөрүү (жадды агып кетүүгө алып келет).
  • Негизги логика үчүн түздөн-түз Activity же Fragmentтен мурас алуу (жакшыраак композицияны колдонуу).
  • Ресурстарды колдонбостон катуу коддолгон саптар, сандар, түстөрдү колдонуу.
  • Узун синхрондук операциялар менен негизги ағынды (MainThread) бөгөттөө.
  • Жашоонун цикли талап кылган маалыматтарды сактоо үчүн статикалык өзгөрмөлөрдү колдонуу.
  • Өтө көп киргизилген layoutтарды колдонуу, бул иштөө жөндөмүнө көйгөй жаратышы мүмкүн (ConstraintLayout же LinearLayout менен салмак жакшы).
  • Конфигурация өзгөрүүлөрүн (экранын айландыруу, тилдин өзгөрүшү) иштетпөө.
  • UI ағынынан түздөн-түз маалымат базаларына же тармактык операцияларга кирүү.
  • SharedPreferences'ти чоң объекттер же сырдуу маалыматтарды сактоо үчүн туура эмес колдонуу.
  • Исключениелерди иштетүү же анын туура эмес ишке ашырылышы (мисалы, бош catch блоктору).
  • Туура эмес активдүүлүктөрдү текшербестен жасалган ниеттерди колдонуу (resolveActivity).
  • RxJava сыяктуу жазылууларды туура эмес башкаруу, бул агып кетүүгө алып келет.

Көп киргизилген layout мисалы:

<!-- Жаман -->
<LinearLayout>
    <LinearLayout>
        <TextView/>
    </LinearLayout>
</LinearLayout>

<!-- Жакшы -->
<LinearLayout>
    <TextView/>
</LinearLayout>