Ushbu maqolada dasturlashda sonlar bilan ishlash haqida, hamda “sehrli sonlar” haqida tushuncha berilgan. Maqola, Stiv Makkonnellning “Code Complete” kitobining ikkinchi nashrining, 12.1 chi bo’limining tarjimasi hisoblanadi. Shu kitobni boshidan oxirigacha o’qib chiqishni qattiq tavsiya etaman.
Quyida sonlardan foydalanishda kelib chiqishi mumkin bo’lgan xatolar sonini kamaytirish imkonini beruvchi bir nechta maslaxatlar berilgan.
“Sehrli sonlar”dan chetda bo’ling. Sehrli sonlar – bu 100 yoki 47524 kabi oddiy sonlar ammo ular dasturda sababsiz paydo bo’ladi. Agarda siz nomlangan konstantalarni ishlata oladigan muhitda dasturlasangiz, sexrli sonlar o’rniga ulardan foydalaning. Agarda nomlangan konstantalarni ishlata olmasangiz, iloji bo’lganida global o’zgaruvchilarni ishlating.
Sehrli sonlardan xalos bo’lish bizga 3 ta afzallikni taqdim etadi.
- O’zgartirishlarni ishonchliroq bajarish mumkin. Agarda siz nomlangan konstantalardan foydalansangiz, 100 sonini har yerdan qidirib o’tirishga xojat qolmaydi, xamda siz bexosdan boshqa narsa uchun ishlatiladigan boshqa sonni xam o’zgartirib qo’ymaysiz.
- O’zgartirishlarni kiritish osonroq bo’ladi. Maksimal elementlar soni 100 dan 200 ga o’zgargan vaqtda, sexrli sonlardan foydalangan bo’lsangiz, siz kodni xar joyidan 100 sonini qidirib topib uni 200 ga almashtirishingiz kerak bo’ladi. Agarda siz 100+1 yoki 100-1 larni ishlatgan bo’lsangiz u xolatda 101 va 99 larni 201 va 199 larga o’zgartirishingiz xam kerak bo’ladi. Nomlangan konstantalardan foydalanganda esa siz faqatgina bitta joyda konstantani qiymatini 100 dan 200 ga o’zgartirasiz.
- Dastur yaxshiroq o’qiladi. Albatta:
for i = 0 to 99 do ...
for i = 0 to MAX_ENTRIES-1 do ...
for i = 0 to CONSTANT do ...
total = total + 1
y = x + (float) i
y = x + CSng( i )
if ( i = x ) then ...
Farhod Dadajonov
Farhod Dadajonovning so'nngi maqolalari (hammasini ko'rish)
- SOA (Service Oriented Architecture) – xizmatga asoslangan dasturlash - 18/03/2016
- Sonlar umuman olganda (Code Complete kitobidan tarjima 12.1 bo’lim) - 12/01/2016
- Kompyuter yig‘amiz - 29/12/2014