Skip to content

JavaScript Yozuv Qoidalari (Style Guide)

Barcha JavaScript loyihalaringiz uchun har doim bir xil kodlash konvensiyalaridan foydalaning.


JavaScript kodlash konvensiyalari

Kodlash konvensiyalari — bu dasturlash uchun uslub ko'rsatmalari. Ular odatda quyidagilarni qamrab oladi:

  • O'zgaruvchilar va funksiyalar uchun nomlash va e'lon qilish qoidalari
  • Bo'shliq, indent va izohlardan foydalanish qoidalari
  • Dasturlash amaliyotlari va tamoyillari

Kodlash konvensiyalari sifatni ta'minlaydi:

  • Kod o'qilishini yaxshilaydi
  • Kod texnik xizmat ko'rsatishini osonlashtiradi

O'zgaruvchi nomlari

Identifikator nomlari (o'zgaruvchilar va funksiyalar) uchun camelCase dan foydalaning. Barcha nomlar harf bilan boshlanadi.

js
firstName = "John";
lastName = "Doe";

price = 19.90;
tax = 0.20;

fullPrice = price + (price * tax);

Operatorlar atrofida bo'shliqlar

Operatorlar ( = + - * / ) atrofiga va vergullardan keyin bo'shliq qo'ying:

js
let x = y + z;
const myArray = ["Volvo", "Saab", "Fiat"];

Kod indentatsiyasi

Kod bloklari uchun har doim 2 ta bo'shliq ishlating:

js
function toCelsius(fahrenheit) {
  return (5 / 9) * (fahrenheit - 32);
}

Ogohlantirish

Indentatsiya uchun tablardan (tabulyatorlardan) foydalanmang. Turli muharrirlar tablarni turlicha izohlaydi.


Bayonot qoidalari

Oddiy bayonotlar uchun umumiy qoidalar:

  • Oddiy bayonotni har doim nuqtali vergul bilan tugatang
js
const cars = ["Volvo", "Saab", "Fiat"];

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

Murakkab (qo'shma) bayonotlar uchun umumiy qoidalar:

  • Ochuvchi qavsni birinchi qatorning oxiriga qo'ying
  • Ochuvchi qavsdan oldin bitta bo'shliq ishlating
  • Yopuvchi qavsni yangi qatorga, oldida bo'shliqsiz qo'ying
  • Murakkab bayonotni nuqtali vergul bilan tugatmang
js
// Funksiyalar:
function toCelsius(fahrenheit) {
  return (5 / 9) * (fahrenheit - 32);
}

// Sikllar:
for (let i = 0; i < 5; i++) {
  x += i;
}

// Shartlar:
if (time < 20) {
  greeting = "Good day";
} else {
  greeting = "Good evening";
}

Obyekt qoidalari

Obyekt ta'riflari uchun umumiy qoidalar:

  • Ochuvchi qavsni obyekt nomi bilan bir qatorga qo'ying
  • Har bir xususiyat va uning qiymati orasida ikki nuqta va bitta bo'shliq ishlating
  • Satr qiymatlari atrofida qo'shtirnoq ishlating, raqamli qiymatlar atrofida emas
  • Oxirgi xususiyat-qiymat juftligidan keyin vergul qo'shmang
  • Yopuvchi qavsni yangi qatorga, oldida bo'shliqsiz qo'ying
  • Obyekt ta'rifini har doim nuqtali vergul bilan tugatang
js
const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

Qisqa obyektlar siqilgan holda, bitta qatorda yozilishi mumkin:

js
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Qator uzunligi < 80

O'qilish qulayligi uchun 80 belgidan uzun qatorlardan saqlaning. Bayonot bitta qatorga sig'masa, uni operator yoki verguldan keyin buzish eng yaxshi:

js
document.getElementById("demo").innerHTML =
  "Hello Dolly.";

Nomlash konvensiyalari

Barcha kodingiz uchun har doim bir xil nomlash konvensiyasidan foydalaning:

  • O'zgaruvchi va funksiya nomlari camelCase da yoziladi
  • Global o'zgaruvchilar KATTA HARF da yoziladi (ixtiyoriy, lekin keng tarqalgan)
  • Konstantalar (masalan PI) KATTA HARF da yoziladi

Chiziqchalar (hyphens): HTML5 atributlari data- bilan boshlanishi mumkin. CSS xususiyat nomlarida chiziqchalar ishlatadi (font-size).

Ogohlantirish

Chiziqchalar ayirish urinishlari bilan aralashtirilishi mumkin. JavaScript nomlarida chiziqchalarga ruxsat berilmaydi.

Pastki chiziq: Ko'pgina dasturchilar pastki chiziqni afzal ko'radilar (date_of_birth).

PascalCase: PascalCase ko'pincha C dasturchilar tomonidan afzal ko'riladi.

camelCase: camelCase JavaScript-ning o'zi, jQuery va boshqa JavaScript kutubxonalari tomonidan ishlatiladi.

Ogohlantirish

Nomlarni $ belgisi bilan boshlamang. Bu sizni ko'pgina JavaScript kutubxona nomlari bilan to'qnashuvga olib keladi.


HTML-da JavaScript-ni yuklash

Tashqi skriptlarni yuklash uchun oddiy sintaksisdan foydalaning (type atributi kerak emas):

html
<script src="myscript.js"></script>

Fayl kengaytmalari

  • HTML fayllar .html kengaytmasiga ega bo'lishi kerak
  • CSS fayllar .css kengaytmasiga ega bo'lishi kerak
  • JavaScript fayllar .js kengaytmasiga ega bo'lishi kerak

Kichik harfli fayl nomlari

Ko'pgina veb-serverlar (Apache, Unix) fayl nomlari bo'yicha katta-kichik harfga sezgir. Muammolardan qochish uchun har doim kichik harfli fayl nomlaridan foydalaning.


Samaradorlik

Kodlash konvensiyalari kompyuterlar tomonidan ishlatilmaydi. Ko'pgina qoidalar dasturlar bajarilishiga kam ta'sir qiladi. Ishlab chiqish uchun o'qilish afzal ko'rilishi kerak. Kattaroq ishlab chiqarish skriptlari minimallashtirilishi kerak.