Kod sifati

Kod uslubi

Bizning kodimiz iloji boricha toza va o'qish oson bo'lishi kerak. Bu โ€” haqiqiy dasturlash san'ati: murakkab vazifani to'g'ri va ayni paytda o'qilishi oson tarzda hal qilish. Yaxshi kod uslubi shunga xizmat qiladi.

Bu yerda keltirilgan qoidalarning hech biri qat'iy majburiy emas โ€” bular tavsiyalar. Har bir jamoa o'z uslubiga ega bo'lishi mumkin. Muhimi โ€” tanlangan uslubga izchil amal qilish.

Qavslar va chekinish (indent)

Ko'pchilik dasturchilar ochuvchi jingalak qavsni { yangi qatorda emas, balki bir xil qatorda, oldida bo'shliq bilan yozishni afzal ko'radi. Bu "egiptcha" (K&R) uslub deb ataladi:

// yaxshi
if (n < 0) {
  alert("Salbiy son");
}

Chekinish (indent) โ€” ichki kod tashqi kodga nisbatan surib yoziladi. Odatda 2 yoki 4 bo'shliq ishlatiladi. Butun loyihada bir xil miqdorni ishlating.

// yaxshi (2 bo'shliq chekinish)
function salomla(ism) {
  if (ism) {
    console.log("Salom, " + ism);
  } else {
    console.log("Salom, notanish!");
  }
}
Chekinishni bo'shliq (space) va tabulyatsiya (tab) aralashtirib yozmang โ€” bu turli muharrirlar va sozlamalarda kodni buzib ko'rsatadi. Bittasini tanlang.

Qator uzunligi

Hech kim uzun gorizontal qatorni o'qishni yoqtirmaydi. Qatorni bir nechta bo'lakka bo'lish yaxshi amaliyot. Odatda maksimal uzunlik 80 yoki 120 belgi qilib belgilanadi.

// uzun shartni bir nechta qatorga bo'lish
let royxat = elementlar
  .filter(x => x.faol)
  .map(x => x.nomi)
  .sort();

Nuqta-vergul (;)

Har bir buyruq oxiriga nuqta-vergul qo'yish tavsiya etiladi, garchi JavaScript ba'zi hollarda uni avtomatik qo'shsa ham. Buni tashlab ketish nozik xatolarga olib kelishi mumkin.

// yaxshi
let ism = "Ali";
let yosh = 25;
console.log(ism, yosh);

Nomlash

Yaxshi nomlar โ€” o'zini o'zi tushuntiradigan kodning yarmi. Umumiy qoidalar:

// yomon nomlash
let a = 60 * 60;
let x = a * 24;

// yaxshi nomlash
let SONIYALAR_SOATDA = 60 * 60;
let soniyalarKunda = SONIYALAR_SOATDA * 24;

Yomon va yaxshi uslub โ€” solishtirma

Quyida bir xil vazifani bajaradigan ikki kod. Birinchisi โ€” o'qish qiyin:

// yomon uslub
function f(x){if(x>0){return x*2}else{return 0}}

Ikkinchisi โ€” bir xil ishni bajaradi, lekin ancha toza:

// yaxshi uslub
function ikkiBaravar(son) {
  if (son > 0) {
    return son * 2;
  }
  return 0;
}

Linterlar (ESLint)

Linter โ€” kod uslubidagi xatolarni avtomatik topib beradigan vosita. U kodni tekshirib, qoidalarga muvofiq emasligini ogohlantiradi. JavaScript uchun eng mashhuri โ€” ESLint.

ESLint bilan ishlash odatda shunday:

  1. Node.js va npm o'rnatiladi;
  2. ESLint o'rnatiladi: npm install -D eslint;
  3. Loyiha ildizida sozlama fayli yaratiladi (masalan .eslintrc yoki eslint.config.js);
  4. Muharringizga (VS Code) ESLint kengaytmasi o'rnatiladi โ€” u xatolarni yozayotganingizda ko'rsatadi.
Ko'pgina jamoalar tayyor uslub qoidalar to'plamidan foydalanadi, masalan Airbnb yoki Standard uslubi. Bu barcha dasturchilarning bir xil uslubda yozishini ta'minlaydi.
Linterni loyihaning boshidanoq sozlang. U nafaqat uslubni saqlaydi, balki ko'plab haqiqiy xatolarni (e'lon qilinmagan o'zgaruvchi, ishlatilmagan funksiya) ham topib beradi.

Xulosa