YAGNI
Ravshan Sodiqov
Last updated
Ravshan Sodiqov
Last updated
Y.A.G.N.I ham boshqa loyihalash tamoyillari singari qisqartma so’z bo’lib, “You aren’t gonna need it” – “Sizga kerak bo’lmaydi” tarzida tarjima qilishimiz mumkin. Bu kelajakda bizning dasturiy ta’minotimizga kerak bo’ladigan qobiliyatlar hozir yaratilmasligi kerak ekanligini anglatadi. Har doim narsalarni sizga kerak bo’lgandagina amalga oshiring, hech qachon menga kelajakda kerak bo’lib qolishi mumkin degan o’y bilan davom etmang.
Faraz qiling men “DOT – NET.UZ Corp.” ning ochilish marosimiga borish uchun yangi kostyum sotib olmoqchiman va shunday qildim ham. Shu payt o’n yildan keyin kiyish uchun yana bir yangi kostyum sotib oldim. Ha, bu noto’g’ri ish edi. Axir men o’n yildan so’ng qanday o’lchamdagi kostyum kiyishimni va u paytga qadar qanday rang va dizayn yoqishishini aniq bilmas edim. Afsuski bu ishim noto’g’ri ekanligini o’n yil o’tgach tushunib yetdim. Siz ham dasturiy ta’minotingiz uchun kerak bo’ladi deb yozgan kodingiz, aslida sizga umuman kerak bo’lmasligi, yoki, siz tasavvur qilgan vaziyat aslida boshqacha ko’rinishda bo’lishi mumkin. Y.A.G.N.I ni kerak bo’lgandagina ishlab chiqarish deb ham tushunish mumkin. Ushbu tamoyilga amal qilmaslik siznining kodingizni ortiqcha keraksiz kodlar bilan “ifloslanishiga”, shundoq ham yechish chigal bo’lgan masalalar yechimini topishni ikki karra murakkablashishiga sabab bo’ladi.
Anvar hamon dasturlashda:
D.R.Y va K.I.S.S tamoyillarini bir amallab o’zlashtirib olgan Anvar Y.A.G.N.I haqida o’qib qoldi va unda shunday savol tug’ildi: “Agar dasturimda men o’ylagan narsa kerak bo’lishiga 100% ishonchim komil bo’lsachi ? ”. Biz unga shunday javob berishimiz mumkin: “Yo’q, Y.A.G.N.I tamoyili faqat kerak bo’lgandagina yozish kerak ekanligini anglatadi.”
Loyihalashning uch asosiy tamoyillarning so’ngisi bilan tanishgach, barcha tamoyilni qo’llash bo’yicha quyidagicha umumiy xulosa keltiramiz: “Biz yozayotgan dasturlar takrorlanmas (DRY), eng so’ngi soddalashgan shaklda (KISS) va faqatgina kerakli kodlar (YAGNI) dan iborat bo’lishi kerak.” Endi bu qoidaga o’zingiz yoqtirgan nomni berib, bemalol hijolat tortmasdan foydalanishingiz mumkin.