JavaScriptda o’zgaruvchini nomlash
JavaScriptda o’zgaruvchini nomlash
Web-dasturlashga kirib kelgan har bir inson HTML va CSS ni o’rganishdan boshlaganini hisobga olsak, ularning ko’p qismi element uchun class nomini berishga, tog’riroq qilib aytganda ma’noli nom berishga qiynalishadi. Ma’nosiz class nomlari paydo bo’ladi yoki tog’ri deb topilgan class nomlari bir necha bor ishlatilib “class name collision” ya’ni bir xil class nomlari urshb qolishni boshlaydi. Bu holatdan chiqib ketish uchun CSS da BEM metodologiyasi bor, yoki modular Sass orqali ham kerakli natijaga erishsa bo’ladi.
Lekin, JavaScriptda qanday yo’ldan foydalangan ma’qul? Buni bilib olish uchun birinchi bo’lib o’zgaruvchiga nom berishdagi asosiy qoidalardan boshlasak:
- O’zgaruvchilar dasturlash tilidagi kalit so’zlari bo’lib qolmasligi kerak, ya’ni for, var, let, while, do, debugger va hkz.
- O’zgaruvchining birinchi belgisi (character) “$” va “_” dan tashqari hech qaysi maxsus belgilardan foydalanish mumkin emas (e.g. #ozgaruvchi, &houseRooms) chunki ko’pgina belgilar dasturlash tilida o’z vazifasiga ega operatorlar hisoblanadi.
- O’zgaruvchi nomida so’zlar orasida space ya’ni bo’sh joy bo’lmasligi kerak.
- O’zgaruvchi nomlari case-sensitive ya’ni salomDunyo va SalomDunyo bitta o’zgaruvchi emas, harflarning katta kichikligiga e’tibor berish kerak.
Asosiy qoidalarni bilib olgan bo’lsak, endi uyog’i o’zimizning tasavvurimizga va til bilishimizga bog’liq. Dasturlashni o’rgatayotganda ko’p ustozlar o’zbek tilida o’zgaruvchiga nom berishni ma’qul deb bilishadi, men esa aksincha, iloji boricha har bir o’zgaruvchini ingliz tilida ma’noli belgilashga harakat qilganman. Chunki, o’quvchilar ertaga ish joyiga borishganda o’zbekcha nom belgilanmaydi va noqal dars davomida bilmaydiganlar 10–15 yangi so’z o’rganib ketishligi uchun.
Ammo, bu yerda ham ma’noli nom topishning o’zi kamliq qiladi. Chunki numberofrooms va numberOfRooms ning o’qilishida farq bor, shu joyida bizga naming conventionlar ya’ni nomlash qoidalari yordamga keladi. Chunki ularsiz, sizning kodingiz o’qish va tushunish uchun bir oz qiyinroq bo’lib qolishi mumkin. Siz ularni bilasiz, ko’rgansiz, eshitgansiz, lekin har biri nima uchun ishlatilishini bilmasligingiz mumkin.
Nomlash konvensiyalari:
🛑 “numberofrooms” — Flat case, barcha belgilar kichkina harflarda, o’qilishi qiyin, faqat bir so’zli o’zgaruvchilar uchun ayni muddao
🛑 “NUMBEROFROOMS” — Upper flat case, barcha belgilar katta harflarda, o’qilishi qiyin, yuqoridagidek
✅ “numberOfRooms” — (lower) Camel case 🐪, ko’rinishi tuyaga o’xshaganligi uchun shunday nomlangan, birinchi so’zdan boshqa barcha so’zlarning barcha belgilari katta harflarda. O’qilishi ancha oson va JS da o’zgaruvchi nomlari (o’zgaruvchi, array, obyektlar) va funksiyalar ushbu case orqali yoziladi
✅ “NumberOfRooms” — (upper) Camel case yoki Pascal case 🐫, birinchi bo’lib Pascal dasturlash tilida standart qilib belgilangan tur, JS da class nomlari va constructor funksiyalari nomlari bu case orqali yoziladi
✅ “number_of_rooms” — snake case 🐍, ko’rinishi ilon iziga o’xshab ketganligi uchun shunday ataladi, o’qilishi oson
✅ “NUMBER_OF_ROOMS” — screaming snake case, baqirayotgan ilon izi 🐍 yuqoridagi snake case ni kattar harflar bilan ko’rinishi, o’qilishi oson
Bulardan ham tashqari, train case, kebab case, donler case va hkz lar mavjud lekin aynan JavaScriptda ko’p uchraydigan va ishlatilinishiga imkon bo’lgan case lar yuqoridagilar hisoblanadi. Siz o’zingiz masalan kebab case ni har kuni uni nomini bilmasdan ishlatishingiz mumkin, masalan CSSda class nomlari uchun “header-katta-block” har bir so’z orasi kabob sihiga o’xshab ko’ringani uchun shunday nomlangan.
Qo’shimcha ravishda aytib o’tish kerakki, bitta so’zli va qisqartirmalar orqali belgilangan o’zgaruvchilardan foydalanmang, iloji boricha yangi kelgan odam ham tushunadigan va ma’no beradigan nomlardan foydalaning, chunki sizning kodingizni sizdan boshqa dasturchilar katta ehtimollik bilan o’qishadi. Undan tashqari o’zingiz ham 1 oydan keyin kelib, kodingizni tushunmasligingiz mumkin. Shuning uchun ham bekorga dasturlashda eng katta qiyinchilikardan biri o’zgaruvchiga tog’ri nom berish deb aytilmaydi.
P.S. Yana tushuntirish tili sizga yoqgan bo’lsa va foydali ma’lumot deb hisoblasangiz izohlarda pluschalarni yozib qo’ying 😅
P.S.2. Pluschalar, obunachilarning aynan shu turdagi postlarni chiqishi yoqyaptimi yo’qmi va o’zgartirish kerak yo kerakmasligini bilib olaman.
Telegram kanal:
https://t.me/khumoyun_codes