Qanday qilib yaxshi kod yozayotganimni bilsam bo'ladi?

Jiddiy savol. Men dasturlashni sevaman. Men yoshligimdan beri tartibsiz

kod yozib kelyapman. Hech qachon profesional darajada kod yozganman deb

o'ylamayman. Bir necha yillar har xil darajadagi mahsulotlar kodlarini

yozdim, masalan bank to'lovlar va hisobotlarni chiqaruvchi maxsus

sistema ishlab chiqdim.

Men dasturlashni yaxshi bilmagandek his qilaman. Lekin albatta yozgan kodlarim ishlaydi, lekin u yozganlarim toza va tartibliligiga shubham bor, Men, shu yerdagi(Stackoverflow.com) ko'p savol-javoblarni ko'rib, yozgan kodlarim yaxshi yozilmaganligiga ishonchim ortdi.

Qanday talablarga javob bera oladigan kodlarni toza kod deb atasak bo'ladi va nimalarga e'tibor beray?
Quyidagi javoblar soddalashtirilgan holda http://stackoverflow.com saytidan olindi. Bu javoblarni har xil malakaga ega bo'lgan dasturchilar berishgan.

1-Javob:
Quyidagi yordamchi savollar bilan aniqlashni odat qilganman:

  1. Agarda kodga qaytib yana bir nimalarni qo'shib-o'zgartirishlar kerak bo'lsa, bu qiyinmi(demak nimadir xato)?
  2. Siz yozilgan, ishlab turgan kodlaringizni buzib boshqa narsalar qo'shishingiz kerekmi?(demak yana o'sha narsa)

2-Javob:

Uchta

oltin qoida bor:



  1. Agarda men ma'lum bir kod bloklarini faqat ko'chirib-qo'yishga(copy/paste) majbur bo'lib qolsam demak nimadirni xato qilyapman.
  2. Agarda yozgan kodimni to'laligicha tassavvur qila olmas ekanman demak nimadir xato.
  3. Agarda kimdir yozgan kodlarim bilan ishlashni boshlab, ular ichida «yo'qolib» qolsa, ya'ni tushunmasa demak nimadir aniq xato.

3-Javob:
Agarda siz yozayotgan kodlar quyidagi shartlarni bajarsa demak u yaxshi:

  1. Kodlaringiz aqlli tarzda yozilgan bo'lishi kerek, lekin o'ta aqlli holda emas.
  2. Algoritmlar ham tezlik nuqtai nazaridan, ham kodni o'qilishi nuqtai nazaridan yaxshi(optimal) bo'lishi kerak.
  3. Klasslar, O'zgaruvchilar, Funktsiyalar bajaradigan vazifasiga qarab to'gri nomlangan, ularni nimani bajarishini ko'p o'ylab o'tirish kerak bo'lmasligi kerak.
  4. Yozayotgan kodingizni bir haftadan so'ng kelib ham to'g'ridan-to'g'ri qiynalmay davom keta olishingiz kerak.


4-Javob:

  1. Qachonki klasslaringiz aniq bitta maqsadga yo'naltirilgan g'oya uchun hizmat qilsa, boshqa klasslardan o'zining aniq maqsadi bilan farqi bo'lishi kod tozaligining bir belgisidir. (Bir xil maqsadga yo'naltirligan klasslarning ko'payishi katta proyektlarda kodni boshqarishni qiyinlashtiradi)
  2. Klassdagi funktsiyalar(metodlar) qisqa bo'lishi kerak — idial holda ko'pi bilan 50 qator, lekin albatta 100 qatordan ko'p bo'lmasligi kerak. Ularning(funktsiyalarning) nomlari ular nima qilishini aniq va tiniq ifodalashi kerak. Shu bilan birga funktsiyalar aynan nomlangan maqsadida ishlatilishi kerak. Agarda kod 100 qatordan o'tib ketsa uning ichidan ma'lum bir maqsadga yo'naltirilganini ajratib alohida metod qilish tavsiya qilinadi.



texnoman

Muallif haqida

Texnoman Jamoasi Internetni rivojlantiramiz!


Qiziq bo‘ladi:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!