Android uchun eng yaxshi kodlash usullari, maslahatlar va boshqalar

Joshua Earl surati Unsplashda

Men ikki yildan oshiq ishlab chiquvchiman va o'rganish va boshqalar bilan bo'lishish orqali kodlash usulim o'zgardi. So'nggi ikki yil ichida men minglab kod satrlarini ko'rdim, ba'zilari odobli, ba'zilari chirkin va baxtiga oz sonli sekslarni topdilar. Agar siz dasturchi bo'lsangiz va siz gazetani o'qish kabi kodni o'qishingiz mumkin bo'lsa, hech narsa bunga mos kelmaydi, hatto Instagram-dagi izdoshlaringiz ham emas. Shunday qilib, qazib olaylik.

Kodlash bo'yicha maslahatlar va fokuslar emas

Nested Agar bo'lsa

Men bundan nafratlanaman, jiddiylik bilan aytaman, sizda quyidagi kod kabi bir nechta tekshiruvlarni talab qiladigan bayonotlar bor va u juda chuqur, tubsiz chuqur joylashgan c, kodlashda aslida yomon .

if (transport! = null) {
       if (transport vositalari.getCar ()! = null) {
           if (transport.getCar (). getModel ()! = null) {
               int narx = transport.getCar (). getModel (). getPrice ();
           }

       }
   }

Va narsa shundaki, buning oldini olish mumkin, siz butunlay bunday qilishingiz mumkin. Quyida ko'rib turganingizdek, o'qilishi oson va tushunish oson.

agar (transport == null || transport vositasi.getCar () == null || transport vositasi.getCar (). getModel () == null) return;

int narx = transport.getCar (). getModel (). getPrice ();

Birlamchi sozlamalarni e'lon qilish

Siz foydalanadigan turli xil ibtidoiy yoki ob'ektlar uchun kerak bo'lsa, hozir doimiy ravishda qaror qiling va odatiy hol deb e'lon qiling. Nima uchun? Bu erda, masalan. sizda (String) narx o'zgaruvchisi bor, buning uchun siz nol, bo'sh satrni va "yo'q /" ni boshqa joylarga qaytarasiz. Buni qilmang. Bu insoniyatga qarshi jinoyat. Sevimlilaringizni tanlang, chunki tutarlılık kamroq xatolarga moyil bo'ladi.

Halqa ichidagi simlarning bog'lanishi

Gap shundaki, siz bularning ba'zilarini allaqachon bilasiz, chunki siz badassiz, lekin siz shunchalik badasssizsizki, kelajakda o'zini yomonroq deb o'ylaganingiz uchun uni qoldirasiz va haqiqatni e'tiborsiz qoldirasiz. u dangasa eshak bo'lishi mumkinligini aytdi. F *** g nuqtasini olasiz deb umid qilaman.

yoq
uchun (String name: names) {
    ism + = ism;
}
Ha
StringBuilder nameBuilder = yangi StringBuilder ();
uchun (String name: names) {
    nameBuilder.append (ism);
}

Nomlash

Qisqa hayot o'zgaruvchilarining qisqa nomlari va uzoq umr ko'radiganlar uchun yaxshi va mazmunli narsalar, chunki ular uzoq vaqt sizlar bilan bo'ladilar. Ular oila.

Masalan Davr ichidagi indeks o'zgaruvchisi "i" bo'lishi mumkin, ammo sinf o'zgaruvchisi "indeks" bo'lishi kerak

Ixtiyoriy

Java uchun bu milliardlab xatolar uchun berilgan eng yaxshi echimdir va u arzon echimga o'xshab ko'rinishi mumkin, ammo agar siz naqd pulga ega bo'lmasangiz, undan foydalanishingiz kerak.

Qaytish

Bo'sh to'plamlar va ro'yxatlarni qaytarib bo'lmaydigan joylarga qaytaring, aks holda milliardlar trillionga aylanib qolishi mumkin yoki agar siz millioner bo'lsangiz.

Kognitiv murakkablik

Ta'rif: Bu psixologik xususiyat yoki psixologik o'zgaruvchi bo'lib, bu odamning ramkasi va hissiy qobiliyati qanchalik murakkab yoki sodda ekanligini ko'rsatadi.

Agar kattaroq va kattaroq kattalikka ega bo'lgan usulni dasturlashda juda kognitiv murakkablik bo'lsa, unchalik tushunarsiz degani. Shunday qilib, katta usullarni mantiqan ajratilgan kichiklarga ajratish va Nested If-ni ishlatish uchun hiyla-nayrangdan foydalanish yaxshidir. Shuningdek, SonarLint statik kodni tahlil qilish vositasi buni hisoblash uchun studiyadagi vaqt rejimida sonar yordamida o'zingizning ishingizni ko'rishingiz mumkinmi?

Lambda

Kodni to'g'ri va egri saqlash kerak, chunki har bir egri chiziq ham yaxshi emas. Yaxshiyamki, ular o'zlarining andro-atlatgichlari> 3.0.0 qurdilar, bu erda studiyani tekshirish imkoniyati mavjud.

Yangilash

Har doim o'z vositalaringizni, ko'nikmalaringizni va tilingizni yangilang, men sizning bolangizni yodda tutmoqchiman (Go kotlin / flutter / reaktsiya / gibrid / ona ... bizning 13 ta sababimiz !!) yana shunday bo'ladi.

Google xafa bo'ldi va ular sizning ***-ni bloklashi mumkin.

Viloyat

O'zingizning parcha parchalarini katta sinflarga ajratish uchun mintaqalardan foydalaning, masalan, kelin kasalligi, bo'linish va qoidalar siyosati, juda samarali hindularga murojaat qiling .

// mintaqa mantiqan ajratilgan mintaqangizning ma'noli nomi
bu erda ishingni qil.
// endregion

Boshlang

O'zingiz takrorlamaslik uchun o'zingizni biron-bir faoliyatda boshlash uchun boshlang'ich usulini yarating, chunki kim buni yaxshi ko'radi va agar siz uni ishlatayotgan bo'lsangiz, to'plam ma'lumot shunchaki ming parametrlarni o'tkazib yubormaydi.

public static void start (Kontekstning konteksti, to'plam to'plami) {
    Niyat starter = yangi niyat (kontekst, NextActivity.class);
    starter.putExtra (AppConstants.BUNDLE, to'plam);
    context.startActivity (boshlang'ich);
}

Usuldagi maksimal parametrlar

Funktsiyalarda biron bir parametr uchun cheklovlar mavjud emas, ammo bu siz buni qilishingiz kerak degani emas, xuddi GFga ega bo'lish degani sizda boshqa, ammo axloqiy odamlar bor degani emas. Ideal holda 3-4 parametrdan oshmasligi kerak va agar sizga Parameter Object naqshidan ko'proq kerak bo'lsa.

Formatlash

Kodni formatlash o'qilishi uchun juda muhimdir, axlatni tozalash uchun o'zingizning usullaringizdan foydalanmaguningizcha, siz kiritgan usulda vertikal va gorizontal cheklash bo'lishi kerak. Studiyada vertikal chiziq bor, uni kesib o'tmaslik yoki o'lishga tayyor bo'lmaslik kerak.

chegarangizni cho'zmang.Voy menga yoqdi!

Maslahatlar

Jon o'rmon. O'qish uchun kod

Ba'zi yaxshi maqolalar Mening Android odamlarim uchun

Splash ekranini amalga oshirishning to'g'ri usuli

Katta nerdlardan

Qanday qilib android studiya plaginlari bilan androidda yanada samarali bo'lish mumkin

Zo'r Singletonni qanday qilish kerak?

Hiyla-nayranglar

Bu erda siz bizga ergashishingiz mumkinligini yozaman, mendan ham yaxshiroq odamlar bor.

Asboblar va plaginlar

Siz hamma narsani bilishingiz shart emas, agar kimdir sizni e'tiborsiz qoldirib, sizga "YO'Q" deb aytmasa, siz xato qilishingiz mumkin. Quyidagi vositalarni sinab ko'ring.

SonarLint

Men buni tavsiya qilaman, men uni ishlatganman va men bu haqda hamkasbimdan bilib oldim, ba'zida ular foydali va hazillashishi mumkin. O'zgartirilgan sinflarni skanerlash uchun bir nechta eng yaxshi xususiyatlar mavjud va u sizning yomon kodingiz va ba'zan siz qanchalik yomonligingiz uchun sizni tanqid qiladi. Biz ilgari aytib o'tgan BTW kognitiv murakkabligi bu yordam beradi.

FindBug

Bu SonarLint singari java kodidagi xatolarni aniqlash uchun statik kod tahlilidan foydalanadigan dastur. FindBug haqida ko'proq bilish uchun buni tekshiring. Fellalar tanga yoki boshqa narsalardan tejashadi, ammo ushbu vositalardan birini tanlang.

Eng yaxshi va eng ko'p ishlatiladigan plaginlarning ro'yxatini quyida tekshiring

Kodlash tamoyillari

SOLID

Ob'ektga yo'naltirilgan dizaynning beshta asosiy printsipini aniqlashga yordam beradigan bu mnemonik qisqartma:

  • Yagona javobgarlik printsipi
  • Ochiq yopiq printsip
  • Liskovni almashtirish printsipi
  • Interfeysni ajratish printsipi
  • Mustaqillikni o'zgartirish printsipi

To'liq ma'lumotnomani tekshirish uchun.

O'g'il bolalar skautining qoidasi

Ta'rif: Lagerni siz topganingizdan ko'ra tozaroq qilib qo'ying

Bob amakisining toza kodidan menga ushbu qoida yoqadi, chunki men yomon kod ustida ishlaganda refaktor, tozalash, pasaytirish va oldingisiga qaraganda mazmunli va o'qilishi osonroq bo'ladi. Prezident devor qurishda juda band bo'lgani uchun har doim atrofingizni toza tuting.

O'zingizni takrorlamang (QURILMA)

Hech qachon bir xil kodni ikki marta yozmang, uni sizning temir parchangizga aylantiring va odamlar buni sizning shohligingizda qat'iyan taqiqlamaydilar.

Tanqidchilar printsipi

Mayli, u butunlay tuzilgan, ammo bu juda mantiqiy. Jamoa do'stlarining kodini ko'rib chiqayotganda, ular sizga do'st bo'lmasliklari, ularning ashaddiy dushmani bo'lishlari, ular biron-bir kunni tozalashingizga to'g'ri kelishi mumkin bo'lgan xatolarga yo'l qo'ymang. Boshqa shilimshiqlarni tozalash qo'lingizni harom qiladi. Kodlarni tekshirishda ilg'or tajribani joriy qiling.

Bunday maslahatlar va eng yaxshi tajribalar qaerdan kelib chiqadi, shunchaki ushbu havolani bosing, menga hech qanday reklama e'lon qilmasligimga ishoning va barchangiz xatolarimni qo'shishingiz, taklif qilishingiz va tahrirlashingiz mumkin. Siz yaxshi odamlar bo'lasiz. Men ovoz beraman.

Davomi bor…

Ushbu maqolani o'qiganingiz uchun tashakkur. Agar siz ushbu maqolani foydali deb bilsangiz, uni tavsiya qilish uchun ni bosing. Bu men uchun juda ko'p narsani anglatadi.

Blog.mindorks.com saytidagi barcha eng yaxshi maqolalarni ko'rib chiqing

Shuningdek, facebook, twitter, github va linkin-larga ulansin.

Agar xohlasangiz, qarsak chaling va keyingi yurish uchun menga ergashing.