DRY
Ravshan Sodiqov
Last updated
Ravshan Sodiqov
Last updated
Shu paytga qadar siz kichik loyihalarni balki jamoa bo’lib, balki yolg’iz holda ishlagan bo’lishingiz mumkin va qachondir kun kelib yirik jamoa bilan yirik loyiha ustida ishlash to’g’risida o’ylab ko’rganingiz aniq. Yirik loyihalar xuddi, noldan qurilayotgan binoga o’xshaydi. Binoning konstruktsiyasini mukammal ishlab chiqish o’ta muhim ahamiyatga ega. Biz quradigan yirik dasturlar ham xuddi binoga o’xshaydi. Shuni unutmaslik kerak-ki, “Yirik loyiha bu shunchaki minglab qator kod degani emas ! ”. Dastur qanchalik katta yoki kichik bo’lmasin uni loyihalash muhim ahamiyatga ega.
Dasturiy ta’minotni loyihalashtirish bir necha tamoyillarga asoslanadi:
DRY – Don’t Repeat Yourself
KISS – Keep it Simple Stupid
YAGNI – You aren’t gonna need it
DRY – ushbu tamoyilga amal qilishni o’zlari uchun muhim qoidaga aylantiradigan dasturchilar vaqt va sifatdan yuqori samaradorlikka erishishlari aniq. Bu qoida sizga kodingizda bir xil vazifani bajaruvchi dastur tanalarini yagona dastur tanasiga birlashtirishni anglatadi. Bir so’z bilan aytganda bir xillliklardan xalos bo’lish demakdir. DRY so’zi bir o’qishda qaysidir dasturlash tilidagi biror kalit so’z bo’lsa kerak, degan fikr uyg’otishi mumkin, yo’q aksincha, bu so’z siz kod yozayotganingizda unutmaslik kerak bo’lgan qoidaning qisqartma shakli xolos. Endi ushbu qoidaga amal qilmay yozilgan dasturni ko’rib chiqamiz:
Yuqoridagi holatda ikkita string, ikkita int yoki ikkita char tipidagi o’zgaruvchilar uchun Swap() metodi yozilgan. Bu funksiya argumentlarning turiga qaramasdan bir xil vazifa bajarmoqda.
Ushbu holat DRY prinsipiga mutlaqo teskari bo’lgan jarayon, ya’ni, WAT (Write Everything Twice) ga yaqqol misol bo’ladi. Biz bu uchta metodni ham satr, ham butun va shu bilan birgalikda boshqa tipdagi o’zgaruvchilar uchun aniqlangan yagona Swap() ga almashtiramiz va dasturimiz quyidagicha ko’rinish kasb etadi:
Ushbu DRY tamoyili “Biz takror kod yozishni yoqtiramiz”, “Barcha narsa egizagi bilan birga bo’lgani yaxshi” yoxud “Menga faqat ishlasa bo’ldi” shiori ostida ish ko’ruvchi do’stlarimiz uchun ancha noqulay bo’lishi mumkin, ammo siz bunday dasturchilar safiga kirmaysiz va dasturlar uchun dasturiy ta’minotni loyihalashtirish muhim ekanligini anglab yetdingiz degan umiddamiz !