Koding uslubi(Coding Style)
Bizning kodimiz imkon qadar toza va o'qilishi oson bo'lishi kerak.
Koding uslubi
Bizning kodimiz imkon qadar toza va o'qilishi oson bo'lishi kerak.
Aslida dasturlashning san'ati ham shundaki – murakkab vazifani to'g'ri va inson tomonidan o'qilishi oson tarzda kodlash san'atidir. Yaxshi kodlash uslubi bunga katta yordam beradi.
Sintaksis
Mana ba'zi taklif etilgan qoidalar bilan qulay varaqcha (quyida tafsilotlar keltirilgan):
Endi qoidalar va ularning sabablarini batafsil muhokama qilaylik.
Majburiy qoidalar yo'q
Bu yerda hech narsa qat'iy emas. Bu uslubiy afzalliklar, diniy aqidalar emas.
Jingalak qavslar
Ko'pgina JavaScript loyihalarida jingalak qavslar "Misr" uslubida yoziladi, ya'ni ochilish qavsi tegishli kalit so'z bilan bir xil qatorga qo'yiladi – yangi qatorga emas. Ochilish qavsidan oldin ham bo'sh joy bo'lishi kerak, masalan:
Bir qatorli konstruksiya, masalan, if (condition) doSomething()
, muhim chekka holat. Biz umuman qavslarni ishlatishimiz kerakmi?
Mana o'qilishi bo'yicha annotatsiyalangan variantlar, o'zingiz baho berishingiz mumkin:
😠 Yangi boshlovchilar ba'zida shunday qilishadi. Yomon! Jingalak qavslar kerak emas:
😠 Jingalak qavslarsiz alohida qatorga bo'lingan. Buni hech qachon qilmang, yangi qator qo'shishda xato qilish oson:
😏 Jingalak qavslarsiz bir qator – qabul qilsa bo'ladi, agar qisqa bo'lsa:
😃 Eng yaxshi variant:
Juda qisqa kod uchun, masalan if (cond) return null
kabi, bir qatorga ruxsat beriladi. Ammo kod bloki (oxirgi variant) odatda ko'proq o'qilishi oson.
Qator uzunligi
Hech kim kodning gorizontal uzun qatorini o'qishni yoqtirmaydi. Ularni bo'lish eng yaxshi amaliyotdir.
Misol uchun:
Va if
bayonoti uchun:
Maksimal qator uzunligi jamoa darajasida kelishilishi kerak. Odatda bu 80 yoki 120 belgidan iborat bo'ladi.
Bo'shliqlar
Ikki turdagi bo'shliqlar mavjud:
Gorizontal bo'shliqlar: 2 yoki 4 bo'sh joy.
Gorizontal bo'shliqlar 2 yoki 4 ta bo'sh joy yoki gorizontal tabulyatsiya belgisi (Tab tugmasi) yordamida amalga oshiriladi. Qaysi birini tanlash qadimiy "urush" mavzusi hisoblanadi. Hozirgi kunda bo'shliqlar ko'proq qo'llaniladi.
Bo'shliqlarning tabulyatsiyaga nisbatan afzalligi shundaki, bo'shliqlar ko'proq moslashuvchan konfiguratsiyalarni taqdim etadi.
Masalan, parametrlarni ochilish qavsi bilan hizalashimiz mumkin, masalan:
Vertikal bo'shliqlar: kodni mantiqiy bloklarga ajratish uchun bo'sh qatorlar.
Hatto bitta funksiya ham ko'pincha mantiqiy bloklarga bo'linishi mumkin. Quyidagi misolda o'zgaruvchilarni tashkillashtirish, asosiy sikl va natijani qaytarish vertikal bo'shliqlar yordamida ajratilgan:
Qo'shimcha yangi qatorni kiriting, bu kodni o'qishni osonlashtiradi. Vertikal bo'shliqlarsiz to'qqizdan ortiq kod qatori bo'lmasligi kerak.
Nuqta-vergul (Semikolons)
Har bir bayonotdan keyin nuqta-vergul bo'lishi kerak, hatto uni tashlab yuborish mumkin bo'lsa ham.
Ba'zi tillarda nuqta-vergul haqiqatan ham ixtiyoriy va kamdan-kam qo'llaniladi. Ammo JavaScriptda qator oxiri nuqta-vergul sifatida talqin qilinmaydigan holatlar mavjud bo'lib, kodni xatolarga nisbatan zaif qiladi. Bu haqda batafsil ma'lumotni "Kod tuzilishi" bo'limida ko'rishingiz mumkin.
Agar siz tajribali JavaScript dasturchisi bo'lsangiz, StandardJS kabi nuqta-vergulsiz kod uslubini tanlashingiz mumkin. Aks holda, ehtimoliy xatolarni oldini olish uchun nuqta-vergullarni ishlatish tavsiya etiladi. Dasturchilarning aksariyati nuqta-vergullarni qo'yadi.
Ichma-ichlik darajalari
Kodning juda chuqur darajada ichma-ich bo'lishidan saqlaning.
Masalan, loop ichida ortiqcha ichma-ichlikdan qochish uchun continue
direktivasidan foydalanish yaxshi fikr.
Masalan, quyidagi kabi ichki if
shartini qo'shish o'rniga:
Shunday yozish mumkin:
Xuddi shunday narsani if/else
va return
bilan ham qilish mumkin.
Masalan, quyidagi ikkita konstruksiya bir xil:
Variant 1:
Variant 2:
Ikkinchi variant ko'proq o'qilishi oson, chunki n < 0
ning "maxsus holati" darhol hal qilinadi. Tekshiruv bajarilgandan so'ng, qo'shimcha ichma-ichlikka ehtiyoj qolmaydi va biz "asosiy" kod oqimiga o'tamiz.
Funksiya joylashuvi
Agar siz bir nechta "yordamchi" funksiyalarni va ularni ishlatadigan kodni yozayotgan bo'lsangiz, funksiyalarni uch xil usulda tashkil qilish mumkin.
Funksiyalarni ularni ishlatadigan koddan yuqorida e'lon qiling:
Yoki ularni ishlatadigan koddan keyin e'lon qiling:
Shuningdek, ichki funksiyalarni ishlatadigan funksiyalarda joylashtirish mumkin:
Har bir yondashuvning afzalliklari va kamchiliklari bor. "Yuqoridagi" variant ish vaqtida boshqa funktsiyalarni qidirishni osonlashtiradi. Agar ular yuqorida bo'lsa, ularni ko'rish mumkin. Koddan pastga o'zingizni "cheksiz o'qishga" majbur qilishingiz shart emas. Shuning uchun katta skriptlar, jumladan jQuery, shu tarzda joylashtiriladi.
Koddan keyingi funksiyalarni belgilash esa umuman ancha mantiqiy ko'rinishi mumkin: avval kod, so'ngra undan qanday foydalanishni ko'rishimiz mumkin. Agar skript o'zi kichik bo'lsa, bu eng yaxshi tanlovdir.
Funksiyalarning ichki joylashuvi lokal va ichki funksiyalar uchun foydalidir, chunki ular "muayyan" kodni himoya qiladi, ya'ni yordamchi xususiyatlardan foydalanishni cheklaydi.
Nomi O'zgaruvchilar, funksiyalar, sinflar va boshqalarning nomi ingliz tilida aniq va tushunarli bo'lishi kerak, chunki nomlar haqida hech qanday savol tug'ilmasligi kerak.
Yomon:
Yaxshi:
Katta loyihalar uchun mos keladigan foydali qoida: shunday nomlashingiz kerakki, agar siz 6 oy ichida loyihani unutib, uni qayta o'qib chiqsangiz, nomlarni tushunishingiz kerak bo'ladi.
Nomi o'zgaruvchining qanday ishlatilishini tavsiflash uchun tanlanadi. Shunday qilib, kod ko'proq tushunarli bo'ladi.
Kichik funktsiyalar
Kichik funktsiyalarni o'z ichiga olgan ko'plab kichik modullar katta kodni kichik qismlarga bo'lishga yordam beradi, bu esa ularni o'qish va test qilishni osonlashtiradi. Shu bilan birga, ularni boshqa joyda ham qayta ishlatish mumkin.
Bu juda oddiy, lekin juda foydali qoida: kichikroq funksiyalarni yozing. Agar funksiyangiz katta bo'lib qolsa, uni bo'lishni o'ylab ko'ring.
Dastlab, funksiyalar kichik bo'lishi kerak. Kichik funksiya o'qilishi oson, uni tushunish va tuzatish oson. Agar kodda kichik xato bo'lsa, siz butun blokni ajratishingiz kerak emas. Shunday qilib, kodingizni kichikroq funksiyalarga bo'lib turing.
Kodni qirqish
Agar kod har qanday holatda ishlatilmasa, uni o'chiring. Kodni o'chirib tashlashdan qo'rqmang. Kodni qisqartirish, yangi funksiyalar va modullarni qo'shish yoki kodni qayta yozish sizning kodni saqlab qolishingizdan ko'ra samaraliroqdir.
Xulosa
Ushbu qo'llanmada ko'plab qoidalar mavjud va ularning barchasi muhim. Qoidalarga amal qiling, ammo o'zingizning qoidalaringizni ishlab chiqing. Kodlash qoidalari kodlashdan zavqlanish uchun mavjud!