Skip to main content

Command Palette

Search for a command to run...

Qanday qilib sifatli kod yozish mumkin:Oddiy qo'llanma

Bu maqola uzun sabr qilib oxirigacha o'qishingizni iltimos qilaman. 2-3 marta qayta o'qing, xatolik va fikrlaringiz bo'lsa izohlarda qoldiring

Updated
7 min read
Qanday qilib sifatli kod yozish mumkin:Oddiy qo'llanma

Sifatli kod yozish har bir dasturchining bajarishi shart bo'lgan vazifalari ro'yxatida bo'lishi kerak. Dasturlashni endi o'rganayotganimizda odatda kod sifatiga emas muammoni tushunish va unga yechim topishga harakat qilamiz uning sifati emas bizni ko'proq berilgan topshiriqni bajarib beradimi yo'qmi o'sha ko'proq qiziqtiradi.

Tajribangiz ortishi bilan siz "ishlasa bo'ldi" deb yozilgan kodlaringiz sizni qoniqtirmaydi. Yozgan kodim sifatlimi, to'g'ri yechim tanlaganmanmi yoki bundan ham yaxshiroq yechim qilish mumkinmidi degan savollar bera boshlaysiz .

Agar bir joyda qotib qolmasdan o'z bilimingizni oshirmoqchi bo'lsangiz siz yozgan kodlaringiz sifatini yangi bosqichlarga olib chiqishingiz kerak. Bu maqolamizda biz kod sifatni oshirish uchun nimalarga e'tibor berish kerakligi haqida ma'lumotlarni berib o'tamiz.

Big O yodingizdan chiqarmang!

Agar siz Computer Science yoki Axborot texnologiylar bo'yicha o'qimagan bo'lsangiz Big O usuli ma'lumotga ega bo'lmasligingiz mumkin. Big O bu yozgan kodlaringizga cheksiz kiruvchi ma'lumotlar qabul qilgandagi tezligi va operativ xotiradan qanday foydalanishini o'lchab beruvchi matematik hisob kitob formulasi hisoblanadi.

Bu juda ham kerak o'lchov bo'lib, kodning effetivligi va kompyuter resursidan qancha joy olishini o'lchab beradi. Lekin bu o'lchov birligi ahamiyatni boshqalardan juda ustun qo'ymasligimiz kerak chunki e'tibor bershimiz kerak bo'ladigan boshqa jihatlarmiz ham bor. Bu matematik usul yozilgan kod qanchalik chidamliligini tekshirsada ammo bu usul bilan real ma'lumotlarni, operatsion tizim bilan bog'liq talablarni yoki loyihaning arxitekturasini tekshirib bera olmaydi.

Siz Big O usulini hisobga olmasligingiz kerak emas balki uni faqat matematik baholash usuli sifatida qarash lozim. Big O bu kod sifatida tekshirib beruvchi dastlabki usullardan biri bo'lib siz faqat shu usulning o'zi bilan kifoyalanmasligingiz kerak.

Code Persistence ahamiyat bering

Code persistence bu kod sifatini oshiruvchi asosiy faktorlaridan biri hisoblanadi. Bu faktor orqali siz loyihangizda ma'lum bir kichik vazifasini bajaruvchi yozgan kodingiz loyihaning butun yashashi davomida (test,deploy,refactoring,debugging va yangi funksional (feature) qo'shganingizda) qanchalik kam o'zgarishga uchrashidir.

Bir o'ylab ko'ring siz yozgan kod bo'lagingiz dasturingiz o'zgarishlarga va qo'shimcha funksionllar qo'shilishi bilan qanchalik o'zini saqlab qolmoqda?

Ba'zida oldinroq yozilgan loyihangizdagi kodlaringizdagi baglarni to'g'rlagandan ko'ra, bu loyihani qaytadan yozsangiz vaqtingizni kamroq olishi mumkin, chunki eski kodlarni vaqt o'tgandan so'ng qanaqib ishlayotgani yoki qaysi joyi nima ish qilishini hich kim bilmasligi mumkin. Bu loyihadagi bagi bor kodlar vaqtga bardoshli qilib yozilmagan ya'ni loyiha ma'lumot vaqt o'tgandan kegin eskirgan va turli baglarni berishini boshlagan bo'lishi mumkin.

Texnologiyalar, talablar va operatsion tizimlar o'zgarishi mumkin,ammo yaxshi yozilgan kod - bunga kichik o'zgarish yoki umuman o'zgarishlarsiz ham bardosh bera olishi kerak.

Keyingi safar qaysidir masalaga yechim yozishdan oldin "Qanday yechim yozsam bu vazifaga yozgan kodim qayta o'zgarishga uchramaydi? " savolini bering. Kreativ, bilim va malakangizni ishga soling va shunday yechim qilingki yozgan yechimingiz kelajakda kamroq o'zgarishga uchrasin.

Kod yozish tezligini oshiruvchi texnologik yechimlar

Yechimlar topish yoki kod yozish tezligingizni oshirish uchun o'zingiz o'rganib qolgan turli dasturlar, pluginlar, standartlar bilishingiz qaramay siz qanday lavozim va vazifangizga qarab kerakli insturmentlarni ishlatganingiz maqsadga muvofiq. Tayyor yechimlarni tushunmasdan foydalanishdan oldin o'zingizning yechimlaringizni o'ylab ko'ring. Bundan havotirga tushmasligingiz kerak. Aksincha bu o'zingizning limitlaringizni oshirishga, yangi bilimlarni o'rganishga majburlaydi va sizning ilmiy qobiliyatlaringiz vazifangizga nisbatan moshlashuvchan bo'lishiga olib keladi.

Albatta ishlatayotgan instrumentlaringiz(kutubxona,pluginlar) sizning kodlaringizning standartlashtirib umumlashtirgani bilan sizning o'rningizga ishlab bermaydi. Kod yozishda eng yaxshi qurolingiz bu nima yozayotganingizni tushunish va loyihaning mazmunini anglab yetish hisoblanadi.

Quyidaga kod sifatini oshirishga yordam beruvchi tavsiya va instumentlar keltirilgan:

  • linter dan foydalaning.

  • AI instrumentlarni ham qo'llashni yoddan chiqarmang

  • Kodingizni standartlashtirishga odatlaning.

  • Yozgan kodingnizga izoh(comment) qoldiring.

  • Ma'nosi o'zgaruvchi, klass, funksiya xususiyatlariga mos keladigan nomlardan foydalaning.

  • Browser keshini tozalashni unutmang (hz 🤣🤣🤣)

  • Test yozishni odat qilinglar.

  • Avtomatlashtirilgan kod revyu va CI(continuous integration) instrumentlar. dan foydalaning

  • Tajribali dasturchilar bilan yozgan kodlaringizni ulashing maslahatlar oling.

  • Loyihani yuzaki tassvur qilmang. Qo'yilgan masalaga yechim yozishdan oldin masalaning mazmunini yaxshilab tushinib oling.

  • Yangi texnologiyalar va kutubxonalardan xabardor bo'ling.

  • Code Complete va Clean Code haqida o'rganing.

Sizning bilimlaringiz juda yaxshi bo'lishi mumkin ammo dasturlash uchun katta yordam beruvchi instrumentlardan foydalanishni bilmasangiz ko'pchilik hamkasblaringizdan orqada qolishingiz mumkin.

“Odamlar tushunadigan ” kod yozing

Yuqori tipdagi dasturlash tillari yaratilibdiki ularning dastlabki maqsadi "odamlar tushunadigan" kod yozish imkonini berish hisoblanadi. Ya'ni siz inson tushunadigan so'zlar va so'z birikmlaridan foydalanib dastur kodini yozasiz. Bu sizga dasturlarni iloji boricha oson va tushunarli yozish imkonini beradi, har doim kelajakdagi o'zimiz yoki u bilan shug'ullanadigan hamkasblarimiz haqida o'ylang. Ammo qo'shtirnoq ichida ba'zi "dasturchilar" asosiy narsani unutib yozgan kodlarni o'zlari ham keyingchalik qayta o'qiy olmaydigan qilib shifrlab yozib ketishadi (albatta beixtiyor). Bu keyinchalik bu kodlarni yaroqsiz holga olib keladi.

Jamoangiz qoidalardan amal qiling

Yangi kompaniyaga ishga o'tganingizda eng katta qiyinchiliklardan bir bu yangi codebase va qoidalarni o'rganishdir. Bu fikrga hamma qo'shiladi deb o'ylayman. Boshlanishida loyihalardagi kodlar eski, mantiqsiz, xato yechimlar qilinganga biror izohlariz spagetti kodlariga o'xshaydi, asablaringiz buzilishi mumkin. Ammo bir nechta haftadan kegin bu kodlar mantiqan ahamiyatini tushuna boshlashingiz mumkin.

Loyihaga yangi tuzatishlarni kiritishdan oldin sizning g'oyangiz bo'yicha yozilgan kodlar codebase filosofiyasini o'zgaritirib yubormasligi kerak, uning standartlariga amal qilishningiz lozim. Sizning kodingiz elegant, tez ishlashi mumkin, lekin butun loyihani yaxshi tushunib olmaguningizcha( odatda bunga loyihaning katta kichikligiga qarab tahminan bir oycha vaqt ketishi mumkin ), kodlaringiz loyihada o'zi joyini topmagandek tuyiladi. Loyihaning umumiy konteksti muhim, yozgan kodlarining umumiy codebase bilan sinxron ishlab ketishi muhim. Yodingizda tuting agar siz loyihada kod yozayogan bo'lsangiz faqat o'zingiz uchun emas balki hamkasblaringiz, jamoa a'zolari uchun ham yozasiz, ular bilan tushunib ishlashingiz uchun bu juda muhim.

Codebasedagi dizayn patternlari juda muhimdir, shuning uchun ularni buzmay turing. Oqimga qarshi suzmay turing. Agar loyihangiz funktsional dasturlashga katta darajada tayanadigan bo'lsa, maniak kabi classlar va metodlar yaratish bilan ovora bo'lmang; bu sizga, loyihaga yomon ta'sir qilishi va hamma uchun chalkashlik tug'diradi. Yaxshi kod yozish - bu instinkt bilim bilan uchrashganda yuz beradi. Bu tajribani egallashingiz vaqt talab etadi, lekin mukofoti natijasida: o'zini bilganidan qolmaydigan, faqat o'zi bilgan yechimlarni to'g'ri deb biladigan, begona kodlarni ko'rsa darhol hayolida bu "proektni qayta yozish kerak" degan fikr uyg'onuvchi dasturchilar qatoridan ketasiz.

So'rashingiz kerak bo'lgan 5 ta savol

Biror yozgan kodingizni gitga commit qilishingizdan oldin quyidagi 5 ta savolga javob berishga harakat qiling. Bu sizni chala buglari bor sifatsiz kodlarni hamkasblarning ko'radigan gitga yuklashdan oldin uning kamchiliklarni ko'rishga va sifatni yechim yozilgan kodlaringiz yuklashingizga yordam beradi.

Demak har bir commit dan oldin quyidagi savollarga javob bering:

  1. Kammit(commit) qilmoqchi bo'lgan kodingizda xatolik bo'lsa loyiha ishdan chiqishi mumkinmi?

  2. Siz yozgan kod bo'lagingiz loyihaning boshqa joylarida qayta ishlatilishi mumkinmi?

  3. Loyiha kutubxonalari yoki umuman yangilanganda sizning yozgan bu kodingizda buglar hosil bo'lmaydimi?

  4. Kodingiz tushunarli va mantiqan to'g'ri yozilganmi?

  5. Kodingiz effektiv va iloji boricha sodda ko'rinishdami?

Agar yuqoridagi savollar aniq va yetarlicha javob bera olmasangiz, orqaga qaytib yozgan kodingizni yana bir marta qayta ko'rib chiqishingiz zarur.

Hasta la Vista … Baby (Nolda boshlaymiz)

Ba'zi paytda hammasini qayta noldan yozib chiqgan maqul. Bunga sabab qilib eski texnologiyalar, juda yomon codebase, sanog'i yo'q baglar yoki loyihadagi yangi qo'shilayotgan funksionalalar - zamonaviy arxitekturani talab qilishini ko'rsatish mumkin. Nima sabab bo'lishidan qatiy nazar bu qarorga kelishdan avval shunga ishonchingiz komil bo'lsin va bu safar barchasini to'g'ri va sifatli qilish harakat qiling.

Sifatli va uzoq vaqt xizmat qiladigan kod yozish nafaqat mumkin balki bajarishingiz shart bo'lgan ishdek qarang. Hayotdan hammasi balansda bo'lganidek, hamma vaziflarga yechim bo'ladigan kod yoki pattern mavjud emas, siz berilgan topshiriq mohiyatiga qarab yechim yozasiz. Yozgan kodingiz operatsion tizim, kiruvchi ma'lumotlar yoki erishmoqchi bo'lgan natijangizga bog'liq. Siz shu yo'lda o'lchovni, maromini o'rganishingiz kerak bo'ladi toki yozgan kodlaringiz umrboqiy yashasin ;).

Yuqoridagi tavsiyalar sizga yaxshiroq sifatli kod yozishingizda yordam beradi degan umidman. Bu maqolani shunchaki o'qimang, o'rganing, foydalaning va albatta boshqalarga ham ulashing. Firklar va kamchiliklar bo'lsa izohlarda qoldiring.

Yoda tuting dasturlashni o'rganayotganda har qanday qiyinchilikda ham chekinmang!

More from this blog

Rashidov Nuriddin

34 posts