STRUKTURALI DASTURLASH
Strukturaviy dasturlash - dasturni ierarxik blokli tuzilma shaklida tasvirlashga asoslangan dasturlash paradigmasi. 1960-yillarning oxiri - 1970-yillarning boshlarida dasturlarni tizimli tashkil qilish imkoniyatini matematik jihatdan asoslaydigan Boem-Jacopini teoremasi va Edsger Dijkstraning "O'tish operatorining xavf-xatarlari to'g'risida" ishida kontseptsiya ishlab chiqilgan.
Paradigmaga muvofiq, goto operatoridan foydalanmasdan tuzilgan har qanday dastur uchta asosiy boshqaruv tuzilmasidan iborat: ketma-ketlik, tarmoqlanish, tsikl; bundan tashqari, subprogrammalar qo'llaniladi. Shu bilan birga, dasturni ishlab chiqish bosqichma-bosqich, "yuqoridan pastga" usuli yordamida amalga oshiriladi.
Strukturaviy dasturlash metodologiyasi kompyuterlarda hal qilinadigan vazifalarning murakkabligi va shunga mos ravishda dasturiy ta'minotning murakkabligi natijasida paydo bo'ldi. 1970-yillarda dasturlarning hajmi va murakkabligi shu darajaga yetdiki, an’anaviy dastur ishlab chiqish amaliyot ehtiyojlariga javob bermay qoldi. Dasturlar to'g'ri parvarish qilish uchun juda murakkab bo'lib qoldi. Shuning uchun dasturlarni ishlab chiqish jarayoni va tuzilishini tizimlashtirish talab qilindi.
Dastlab,strukturali dasturlash g'oyasi goto operatori va undan foydalanishning maqsadga muvofiqligiga shubha bilan bog'liq holda tug'ilgan. Bunday shubhalarni birinchi marta Xaynts Zemanek 1959 yil boshida Kopengagenda algo tili bo'yicha yig'ilishda bildirgan. Biroq, bu nutq e'tiborni jalb qilmadi va hech qanday natijaga olib kelmadi.
O'n yil o'tgach, 1968 yil mart oyida Dijkstra o'zining mashhur "Go To operatori zararli deb hisoblanadi" maktubini e'lon qilganidan keyin vaziyat keskin o'zgardi.Bu dasturlashning keyingi rivojlanishiga sezilarli ta'sir ko'rsatgan chinakam tarixiy hujjatdir. Hujjatning o'zitarixi juda qiziq. Gap shundaki, Dijkstra maqolaga butunlay boshqacha sarlavha bergan: "GO TO operatoriga qarshi dalillar"
Strukturaviy dasturlashning maqsadi - dasturchilarning ish unumdorligini oshirish, shu jumladan yirik va murakkab dasturiy ta'minot tizimlarini ishlab chiqishda, xatolar sonini kamaytirish, disk raskadrovka, o'zgartirish va dasturiy ta'minotga texnik xizmat ko'rsatishni soddalashtirish. Bu maqsad dasturlarning murakkabligi ortib borishi hamda yirik dasturiy ta’minot loyihalarini ishlab chiquvchilar va menejerlarning 1960-1970 yillarda dasturiy vositalarni ishlab chiqish bilan bog‘liq holda yuzaga kelgan muammolarni bartaraf eta olmasligi bilan bog‘liq holda belgilandi.
Spagetti-kod - noto'g'ri ishlab chiqilgan, noto'g'ri tuzilgan, chalkash va tushunish qiyin bo'lgan ko'plab goto iboralari, istisnolar va tuzilmani buzadigan boshqa konstruktsiyalarni o'z ichiga olgan dastur. Spagetti kodi shunday nomlangan, chunki dastur oqimi spagetti kosasiga o'xshaydi, ya'ni burmalangan va burmalangan. Ko'p o'tish ko'rsatmalari tufayli ba'zan "kenguru kodi" deb ataladi.
Hozirgi vaqtda bu atama nafaqat goto suiiste'mol qilish holatlariga, balki bir xil kichik fragment juda ko'p turli xil vaziyatlarda bajariladigan va juda ko'p turli xil mantiqiy funktsiyalarni bajaradigan har qanday "ko'p bog'langan" kodga nisbatan qo'llaniladi.
Spagetti kodini disk raskadrovka qilish va to'g'ri va yuqori unumdorlik bilan ishlatish mumkin, ammo uni saqlash va rivojlantirish juda qiyin. Spagetti kodini yangi funksiyalarni qo'shish uchun tozalash ba'zan yangi xatolarni kiritish uchun katta potentsialga ega. Shu sababli, refaktoring spagetti uchun asosiy davo ekanligi deyarli muqarrar.
Do'stlaringiz bilan baham: |