Thecoder
JF-Expert Member
- Aug 10, 2015
- 2,620
- 6,780
Angalia hiyo code hapo imeandikwa na Claude AI, ni code ambayo ukiipitia mstari hadi mstari haina shida yoyote na hata ukiirun itafanya kazi vizuri kwa maana lengo la hiyo method litakua linatimia bila shida ambalo ni kutengeneza parent ambae ni user.
Shida kubwa itaanza kujitokeza taratibu pindi mfumo wako utakapoenda kwenye production level na watu wakaanza kuongezeka kuutumia mfumo wenyewe.
Ona, kiachana na hiyo hardcode ambayo ipo kwenye password pamoja na error nyingine ambazo zipo wazi ila pia kuna ishu kubwa mbili ambazo utakumbana nazo, ya kwanza ni ishu ya transaction na ya pili ni ishu ya logging.
Iko hivi, lengo la method ni kutengeneza parent ambae pia ni user, kwa maana kila mzazi anatakiwa kuwa user ili anavyojisajili katika mfumo taarifa zake za kulogin zote ziingie kwenye modo ya user ila profile yake itaingia kwenye parent.
Na hapo ndio kuna udhaifu wa kwanza ambao utaenda kuukumba mfumo endapo mtu zaidi ya mmoja atajisajili katika muda mmoja, au wakati mtu anajisajili akapata changamoto ya kimtandao ghafla wakati bado process nzima ya kujisajili haijafika mwisho, hii itapelekea taarifa zake kwenda nusu kwenye database.
Kwamba user atakua created kwenye database ila parent profile haitokuwepo, kwahiyo mtu akienda kulogin atalogin kama kawaida ila hatokua na profile ya parent, so hatoweza kuunganishwa na mwanafunzi yeyote kwenye shule yoyote ambayo itakuwepo kwenye database yako.
Na wakati hiyo failing ya kusajiliwa user full inatokea hakutokua na taarifa yoyote kumjuza huyo user au hata wewe mwenye mfumo kwa maana ishu ya error handling na logging inatokea.
So suluhisho la hizo bugs ambazo zitaenda kuula mfumo wako taratibu ni kwamba kama user atafanikiwa kuwa created ila at the same time parent akafeli kuwa created basi zote zifail kwa wakati mmoja ili taarifa zisiende nusu kwenye database na ili hii itimie basi transaction lazima ihusike kwenye hiyo method.
Then user na parent wakiwa wameshindwa kuwa created basi lazima wapewe audit trial au taarifa kwa maana ya alert na hapa ndio lazima logging itake place pamoja na error handling.
Hii kitu ipo kwenye code nyingi zinazogeneratiwa na AI, kama sio issue ya concurrency basi itakua ni issue ya transaction kama sio ya transaction basi itakua ni issue ya logging kama sio logging basi itakua ni authorization na kama sio authorization basi itakua dependency na kadhalika.
All in all naipenda AI kwasababu inafanya kazi iende haraka ila nimewaletea hiyo kama kuwakumbusha tu kwamba AI ikishamaliza kugenerate basi chukua muda wa kutosha uanze kupitia codes zako pattern to pattern logic to logic ili kuhakikisha kila kitu kinaenda sawa.
Bado najifunza😊