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.
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!");
}
}
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:
- O'zgaruvchi va funksiyalar uchun camelCase uslubidan foydalaning:
userName,hisobla; - Nom mazmunni aks ettirsin:
i,dataemas, balkiuserIndex,foydalanuvchilar; - Funksiya nomi odatda fe'ldan boshlanadi:
getUser,hisobla,korsat; - O'zgarmas doimiylar (konstantalar) uchun UPPER_CASE:
const MAX_SONI = 100;.
// 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:
- Node.js va npm o'rnatiladi;
- ESLint o'rnatiladi:
npm install -D eslint; - Loyiha ildizida sozlama fayli yaratiladi (masalan
.eslintrcyokieslint.config.js); - Muharringizga (VS Code) ESLint kengaytmasi o'rnatiladi โ u xatolarni yozayotganingizda ko'rsatadi.
Xulosa
- Toza kod โ o'qish va qo'llab-quvvatlash oson bo'lgan kod;
- Chekinish, qavslar va nuqta-vergullarda izchil bo'ling;
- O'zgaruvchilarni mazmunli nomlang (camelCase, UPPER_CASE);
- ESLint kabi linter uslub va xatolarni avtomatik nazorat qiladi.