Ukuvavanya isoftware kunye nokwenza kube lula ukwenza oko ibingumdla wam iminyaka embalwa ngoku. Lo mdla ngoku ugxile ngakumbi kwizicelo ezingaphambili ezazifudula zikho. Ngokuthe ngqo, yereactjs izicelo. Sele ziinyanga ezimbalwa ngoku ndintywila kwikhowudi ye-reactjs yeminyaka emihlanu ukuya kwelishumi endinika ingqiqo kunye nemingeni.
Mna ngokobuqu bendiphuhlisa ikhowudi ye-reactjs iminyaka embalwa ngoku; enye yeeprojekthi zokuqala zomthombo ovulekileyo endabelana ngazo ibizwa ngokuba yi- testable . Yakhutshwa ngo-2020 okanye kunjalo, kwaye ukusukela ngoko, ndiye ndanikezela inxalenye yendlela yam yokufunda ukuze ndiphendule.
Kutshanje, bendisebenza kwezinye iiprojekthi zomthombo ovulekileyo ezijolise kwinxalenye yovavanyo lwezinto ezifana ne -json-isixhobo kunye nesixhobo sokubhaliweyo ; zombini izicelo zingumthombo ovulekileyo kwaye zibekwe kwi-Snapcraft. Ukongeza kwezo, ndihlala ndiqhuba imifuniselo kwindawo yokugcina ebizwa ngokuba yi-reactjs-indawo yokudlala . Yindawo apho ndizama khona ngeempawu ze-reactjs kwaye ndinikezele iiyure zam zokufunda kuyo. Amava endiwafumene ngaloo minyaka kwiiprojekthi ezikufutshane kunye neeprojekthi ezivulelekileyo zandinika isiseko esindivumela ukuba ndibone imigibe kunye neenzuzo eziqhelekileyo.
Abaphuhlisi abajoyina ipateni ye-reactjs kunye nesixhobo baqaphela ukuba iibhloko zokwakha ezinikezelwa yithala leencwadi kulula ukuziqonda kunye nokuqulunqa. Eyona ngcamango ingabonakaliyo yecandelo ingasetyenziselwa ukuqulunqa ujongano lomsebenzisi ngokukhawuleza. Nangona kunjalo, inokuba ngumthombo weempazamo xa kuziwa kulwakhiwo loluhlu lwecandelo. Ukubola kweenkqubo sisifundo esifundwe iminyaka.
Ubungakanani bobunye bokuthatha kwisoftware ibe ngumxholo wengxoxo ngokunjalo; abanye baphikisa ukuba iindlela kunye neeklasi kufuneka zibe nenani elincinci lemigca, ngelixa abanye bekhetha ukuba neqhekeza elikhulu, elakhiwe kakuhle. Njengakuyo nayiphi na iprojekthi yesoftware kungakhathaliseki ubungakanani, ndizimisele ukukhetha ubungakanani obubonelela ngomxholo othe kratya kwaye buvelise ukungqubana okuncinci kumthwalo wokuqonda ngelixa ufunda ikhowudi.
Ngokuzenzekelayo okanye akunjalo, kumava am, ndifumanisa oku kunokwenzeka xa ndinemida ebekwe kakuhle kwisiqwenga sekhowudi endisebenza kuyo kunye nomxholo weshishini. Andikafumani inombolo yomlingo yaloo nto, nangona kunjalo, umlinganiselo wam waba linani lokutsiba ekufuneka ndikwenze phakathi kweefayile ukuqonda into ekufuneka ndiyenze.
Ukutsiba okuninzi njengoko kufuneka ndikwenze, kokukhona ndidinga ukubamba entloko umxholo kunye nolwazi; oku kuba nzima ngelixa ugcina isiseko sekhowudi. Ukubola loo macandelo ngumngeni, nangona kunjalo, kufuneka kuthathelwe ingqalelo ukugcinwa okungcono kwesiseko sekhowudi.
Kuphuhliso lobuchwephesha, ilizwe lehlabathi liyimfuneko esisiseko; yereactjs izicelo, ayohlukanga. Ilizwe lehlabathi libonwa ngokulula ngabasebenzisi besicelo. Ukuba uthenga into kwaye wongeza imveliso kwinqwelo yakho, unokubona inani lezinto ozongezile; le yimeko yehlabathi.
Kwizicelo ze-reactjs, iphakheji yolawulo lwelizwe jikelele ebikade isetyenziswa ngokubanzi i-redux ngoku yehlile ukusetyenziswa kwayo ngokuthanda iimeko ezincinci ezijikeleze imida kwisicelo. Nangona kunjalo, uluntu luye lwabelana ngeembono ezahlukeneyo malunga nesidingo sokusebenzisa i-reux kulawulo lwelizwe jikelele; oku kukhokelele kwezinye iiblogi ngalo mba:
Ngaphandle kokutyhalela phambili kuluntu, i-react-redux, ithala leencwadi elisetyenziselwa ukubophelela i-redux kumacandelo e-reactjs, iye yamkelwa ngokukhula kwiminyaka emihlanu edlulileyo ngokweendlela ze-npm . Ngomhla we-01 kaFebruwari, i-2025, ukukhutshelwa okuboniswe kwi-npm ye-reux yi-6,752,764.
Ukuba uyazibuza ukuba yeyiphi enye indlela apho ke impendulo ngumxholo we-reactjs kunye neekhonkco kunye nemibuzo.
Kwizicelo ezixhomekeke kwiphakheji ye-redx, ngumceli mngeni ngokwawo ukubaleka. Imeko yehlabathi yenye yezinto ezixhomekeke ekucutheni ukuvavanywa kwesicelo. Kumava am, umxholo ofunekayo wehlabathi uhlala uza kunye nobunzima obuninzi bolwazi lwesizinda. Ngelixa ungafuna ukuvavanya icandelo elithile okanye isilayi sesicelo sakho, awuzukwazi ngaphandle kokwabelana ngokuxhomekeka kwehlabathi okufunwa sesi silayi.
Ukwamkela i-reactjs kwizicelo zeshishini, ngexesha lokubhalwa kwesi siqwenga, kube sisigqibo esichanekileyo sokugcinwa (nangona umzuzu obalulekileyo u-Facebook wayenawo xa utshintsha imodeli yelayisensi yethala leencwadi). I-ReactJs ibonelela ngasemva ukuhambelana kwee-APIs ezingasasetyenziswayo, nto leyo eyenza ukuba ukwamkelwa kwexesha elide kube yenye yeenzuzo eziphambili.
Ngokungathi amacandelo awonelanga njengengcinga engabonakaliyo yokuhamba-hamba, imixholo ikwayenye yeenzuzo ezibonelelwa yi-reactjs ngokumalunga novavanyo. Ndicacisa ngakumbi ngalo mbandela kwibhlog enikezelwe kuvavanyo lomxholo we-reactjs . Umgangatho we-encapsulation obonelelwa ngomxholo we-reactjs yenye yeenzuzo eziphambili zokuvavanya ngokutsha kunye nokwenza ukuba i-refactoring isebenze kwiziseko zekhowudi ye-reactjs.
Njengoko ukubola kwamacandelo kunye nengqiqo yezoshishino kungumngeni, iimeko zizixhobo ezenza kube lula ukulungiswa kwekhowudi. Kwinxalenye yokuvavanywa kwezinto, oku kukwaluncedo njengoko kuyindlela eyenza ukuba inani elincitshisiweyo lovavanyo oluphindwe kabini olusetyenzisiweyo, ngaloo ndlela, lukhokelela kwikhowudi enokuvavanywa ngakumbi.
Ukunikezelwa koluhlu olunjalo ukuza kuthi ga ngoku, inxalenye yokuvavanya ithemba sele icacile ukuba ixhomekeke kwindlela ikhowudi yomthombo eyakhiwe ngayo kunye nendlela imida yesicelo ehlelwe ngayo. Nangona kunjalo, njengoko ikhowudi yokuvavanya ixhomekeke kwikhowudi yokuvelisa, uvavanyo oluphindwe kabini lunokusetyenziswa ukunceda ukukhawulela umda. Inkqubo yokucinga yeemvavanyo zokubuyisela kwakhona iqulunqwe ngamanyathelo ambalwa alula.
2.1. Ngaba uvavanyo lwaphumelela?
2.1.1 - Yes → Check if the feedback is correct 2.1.2 - No → Provide the dependency without questioning
Qaphela ukuba: Indlela echazwe apha iyafana nale ichazwa njengovavanyo lwe-Characterization oluchazwe nguMichael Feathers
Ukusebenza ngokufanelekileyo kunye nencwadi yeKhowudi yeLifa.
Ukufika kwee-LLMs kunokubonelela ngengqiqo ngelixa ubhala iimvavanyo zokuqala kunye neziseko zekhowudi yokubuyisela ngaphandle kovavanyo. Inyathelo ngalinye kwesi sicwangciso senzelwe ukuphindaphinda; kuyenzeka ukudibanisa izimbo ezahlukeneyo ze TDD ngokunjalo. Indlela ecetywayo ayikuyeki ukwenza yonke into kwaye ubuyisele kwakhona zonke iimeko zovavanyo ezinokwenzeka kunye nayo yonke imiba enokubakho isiseko sekhowudi esinayo, ngumdlalo wephazili. Umsebenzi ngamnye ovavanyiweyo liqhekeza elingena kwiphazili.
Kwale ndlela inye iyacetyiswa ukuba kuhlaziywe ngokutsha. Abaphuhlisi kufuneka bakwazi ukusoloko behlaziya ikhowudi ethile. Asiyoprojekthi eyahlukileyo, kwaye ayijoliswanga ekuzinikeleni kuyo kuphela. Injongo yayo ephambili kukwenza isiseko sekhowudi sibe ngcono kunokuba sasinjalo. Ngokuphindaphindiweyo. Kukho imiba embalwa enokusetyenziselwa ukubuyisela iimvavanyo kwiziseko zekhowudi ezingenayo:
Embindini wale ndlela yinkqubo yokufunda; inyathelo ngalinye lokufunda isiseko sekhowudi kuthathelwa ingqalelo.
Umkopi angasetyenziselwa ukwenza uvavanyo lokuqala lokuhlola oluchazwe kwicandelo langaphambili; ngokulandela imithetho emithathu, inokuqalisa ngokuchonga abaxhomekeke kwaye ibhale iseti yovavanyo olubanzi oluza kusetyenziswa njengesiseko.
Masithathe i-Testable njengomzekelo; sisicelo esibhalwe ngaphezulu kweminyaka emihlanu eyadlulayo kwi-reactjs kwaye sisebenzisa i-enzyme yovavanyo. Ngomgangatho wanamhlanje, ithala leencwadi elithathe indawo yi-vitest okanye i-jest kunye nelayibrari yokuvavanya. Ukubuyisela kwakhona iimeko zovavanyo ukuze zivavanywe kwaye uthathe ithuba le-LLMs, sinokusebenzisa i-copilot ukusinceda ngokuphakamisa ubunzima.
Inokuvavanywa yenziwe ngamava agamified anelizwe, amanqanaba, kunye nokuqhubela phambili komsebenzisi ngokusebenzisa imingeni eyahlukeneyo. Icandelo elichazwe kulo mfanekiso ulandelayo licandelo elisetyenziselwa ukubonisa iingxoxo kunye nokuhamba phambili kwimbali yamava. Ndisebenzisa iCopilot ye-vscode, ndiyicele ukuba ibhale uvavanyo ngekhowudi yemveliso esinomdla kuyo:
Nje ukuba ilayishe umbuzo kwaye ihlalutye ikhowudi, inika impendulo.
Kunye nempendulo, uCopilot waqaphela ukuba andikasebenzisi ilayibrari yovavanyo kwaye icebisa ukuba ndenze oko, kwaye emva koko, uvavanyo olwenziweyo luyaboniswa. Ukuqhuba ityala njengoko kubonisiwe kwenza uvavanyo lungaphumeleli kwaye luphawule njengobomvu.
Le ngongoma ibalulekile kuba ibonisa ukuba useto olongezelelweyo kufuneka luthathelwe ingqalelo kwaye uMncedisi akakwazanga ukuyiqonda. Zimi ngolu hlobo lulandelayo:
Ukuqukuqela okuchazwe ngaphambili kweli candelo kuyasebenza nalapha. I-loop yempendulo ngoku kukuqala ukulungisa loo miba kwaye uqhube iimvavanyo de umjikelezo we-TDD ugqitywe.