clean-code1

Qanday qilib yaxshi kod yozayotganimni bilsam bo’ladi?

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.

clean-code


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’zinging o’zining aniq maqsadi bilan farq qilinishi. (Agarda bir xil maqsadga yo’naltirligan klasslarning ko’payishi katta proyektlarda kodni boshqarishni qiyinlashtiradi)
  2. Klassdagi funktsiyalar(metodlar) qisqa bo’kishi 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.

Yuqoridagi javoblar soddalashtirilgan holda http://stackoverflow.com saytidan olindi. Bu javoblarni har xil malakaga ega bo’lgab dasturchilar berishgan.

manba: oddiy.blogspot.com

(406 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar: