Ha ku heshiin inaad horumariso wax aadan fahmin

Ha ku heshiin inaad horumariso wax aadan fahmin

Tan iyo bilawgii 2018, waxaan hayay jagada hogaaminta / madaxa / horumarinta hogaanka kooxda - u wac waxaad rabto, laakiin ujeedadu waa inaan gebi ahaanba mas'uul ka ahay mid ka mid ah qaybaha iyo dhammaan horumariyeyaasha shaqeeya. dusheeda. Booskani wuxuu i siinayaa aragti cusub oo ku saabsan geeddi-socodka horumarinta, maadaama aan ku lug leeyahay mashaariic badan oo aan si firfircoon uga qaybqaato go'aan qaadashada. Dhawaan, mahadnaqa labadan shay, waxaan si lama filaan ah u ogaaday inta cabbirka fahamku uu saameynayo koodka iyo codsiga.

Qodobka aan rabo in aan sameeyo ayaa ah in tayada koodka (iyo alaabta ugu dambeysa) ay si dhow ula xiriirto sida ay uga warqabaan dadka naqshadeynaya iyo qorista koodka waxa ay sameynayaan.

Waxaa laga yaabaa inaad hadda ka fekereyso, "Mahadsanid, Cap. Dabcan, way fiicnaan lahayd in la fahmo waxa aad qorayso guud ahaan. Haddii kale, waxaa laga yaabaa inaad sidoo kale kireysato koox daanyeero ah si ay ugu dhuftaan furayaasha aan sharciga ahayn oo aad halkaas uga tagto." Adiguna waad saxantahay. Sidaa darteed, waxaan u qaadanayaa si dhab ah inaad ogaatay in fikradda guud ee waxa aad sameyneyso ay lagama maarmaan tahay. Tan waxaa lagu magacaabi karaa heerka fahamka eber, si faahfaahsanna uma falanqeyn doono. Waxaan si faahfaahsan u eegi doonaa waxa dhabta ah ee aad u baahan tahay inaad fahanto iyo sida ay u saamayso go'aamada aad gaadho maalin kasta. Haddaan arrimahaas hore u ogaan lahaa, waxay iga badbaadin lahayd waqti badan oo lumay iyo kood la is waydiin karo.

In kasta oo aanad hoos ku arki doonin hal sadar oo kood ah, haddana waxaan aaminsanahay in wax kasta oo halkan lagu sheegay ay muhiimad weyn u leeyihiin qorista kood tayo sare leh oo muujinaya.

Heerka koowaad ee fahamka: maxay u shaqayn wayday?

Horumariyayaashu inta badan waxay heerkan gaadhaan wakhti hore oo ay ku jiraan xirfadahooda, mararka qaarkood xitaa iyaga oo aan wax caawin ah ka helin kuwa kale - ugu yaraan waaya-aragnimadayda. Ka soo qaad inaad heshay warbixinta cayayaanka: shaqada qaar ee arjiga ma shaqaynayso, waxay u baahan tahay in la hagaajiyo. Sideed u socon doontaa?

Nidaamka caadiga ah wuxuu u eg yahay sidan:

  1. Soo hel qaybta koodka ee dhibaatada keenaya (sida tan loo sameeyo waa mawduuc gooni ah, waxaan ku daboolayaa buuggayga ku saabsan koodka dhaxalka)
  2. Isbeddel ku samee qaybkan
  3. Hubi in ciladku go'an tahay oo aanay dhicin khaladaad dib u dhac ah

Hadda aan diiradda saarno qodobka labaad - wax ka beddelka koodka. Waxa jira laba hab oo habkan loo maro. Marka hore waa in la dhex geliyo waxa dhabta ah ee ka dhacaya koodka hadda jira, la garto qaladka oo la hagaajiyo. Midda labaad: ku dhaqaaq dareen - ku dar, dheh, +1 odhaah shuruudaysan ama wareeg ah, eeg haddii shaqadu ku shaqaynayso xaaladdii la rabay, dabadeed isku day wax kale, iyo wixii la mid ah ad infinitum.

Habka koowaad waa sax. Sida Steve McConnell uu ku sharaxay buugiisa Code Complete (oo aan aad ugula talinayo, jidka), mar kasta oo aan wax ka bedelno code-ka, waa in aan awoodno inaan si kalsooni leh u saadaalino sida ay u saameyn doonto codsiga. Waxaan ka soo xigtay xusuusta, laakiin haddii bugfix uusan u shaqeynin sidii aad filaysay, waa inaad aad uga naxsataa oo waa inaad su'aal ka keentaa dhammaan qorshe hawleedkaaga.

Si loo soo koobo waxa la sheegay, si loo sameeyo hagaajin wanaagsan oo cayayaanka ah oo aan hoos u dhigin tayada koodhka, waxaad u baahan tahay inaad fahamto qaabka guud ee koodka iyo isha dhibaatada gaarka ah labadaba.

Heerka labaad ee fahamka: waa maxay sababta ay u shaqeyso?

Heerkan waxa loo fahmay si ka garaad yar marka loo eego kii hore. Aniga, aniga oo weli ah horumariye cusub, waxaan bartay mahadnaqa madaxayga, ka dibna si isdaba joog ah u sharaxay nuxurka arrinta kuwa cusub.

Markan, aan qiyaasno in aad heshay laba warbixinood oo kutaan ah hal mar: kan kowaad waxa uu ku saabsan yahay xaalad A, ka labaadna waxa uu ku saabsan yahay xaalad B. Labada xaaladoodba, wax khaldan ayaa dhacaya. Sidaa darteed, waxaad marka hore wax ka qabataa cayayaanka ugu horreeya. Adigoo isticmaalaya mabaadi'da aan u soo saarnay fahamka Heerka XNUMX, waxaad si qoto dheer u gelisaa koodka laxiriira dhibaatada, waxaad ogaataa sababta ay u keenayso codsigu inuu u dhaqmo sida uu u dhaqmayo Scenario A, oo samee hagaajin macquul ah oo soo saarta natiijada aad rabto. . Wax walba si wanaagsan ayay u socdaan.

Ka dib waxaad u gudubtaa seenyada B. Waxaad ku celisaa muuqaalka adigoo isku dayaya inaad kiciso qalad, laakiin - yaab! - hadda wax walba waxay u shaqeeyaan sidii la rabay. Si aad u xaqiijiso malahaaga, waxaad dib u dhigi doontaa isbeddelada aad samaysay markaad ku shaqaynaysay bug A, iyo bug B ayaa soo noqday. Bugfix-kaaga ayaa xalliyay labada dhibaato. Nasiib!

Ma aadan tirin tan gabi ahaanba. Waxaad la timid hab aad ku saxdo qaladka ku jira seenyada A oo aadan wax fikrad ah ka haysan sababta ay ugu shaqeysay seenyada B. Marxaladdan, aad bay u soo jiidanaysaa in aad u malaynayso in labada hawloodba si guul leh loo dhammeeyey. Tani waa wax macquul ah: ujeedadu waxay ahayd in la tirtiro khaladaadka, miyaanay ahayn? Laakin shaqadu wali ma dhamaan: wali waa inaad ogaataa sababta ficilkaagu u saxay khaladkii ku jiray xaalada B. Waayo? Sababtoo ah waxaa laga yaabaa inay ku shaqeyneyso mabaadi'da khaldan, ka dibna waxaad u baahan doontaa inaad raadiso waddo kale. Waa kuwan dhowr tusaale oo kiisaskan ah:

  • Mar haddii xalku aanu ku habboonayn khaladka B, iyadoo la tixgalinayo dhammaan qodobbada, waxa laga yaabaa inaad adigoon ogayn aad jabisay shaqada C.
  • Waxaa suurtogal ah in uu sidoo kale jiro bug saddexaad oo ku dhuumanaya meel, oo la xidhiidha isla shaqada, iyo bugfix-kaaga waxay ku xiran tahay habka saxda ah ee nidaamka ee xaaladda B. Wax walba hadda way fiican yihiin, laakiin maalin maalmaha ka mid ah cayayaankan saddexaad waa la ogaan doonaa oo la hagaajin doonaa. Markaa xaaladda B qaladku mar kale ayuu soo dhici doonaa, wayna fiican tahay haddii uu jiro oo keliya.

Waxaas oo dhami waxay ku darayaan fowdo koodka oo maalin uun madaxaaga ayay ku dhici doonaan - waxay u badan tahay wakhtiga aan munaasabka ahayn. Waa inaad awood u yeelataa inaad naftaada ku qasbi karto inaad waqti ku qaadato inaad fahamto sababta ay wax walba ugu muuqdaan inay shaqeeyaan, laakiin waa u qalantaa.

Heerka saddexaad ee fahamka: waa maxay sababta ay u shaqeyso?

Aragtidayda dhow waxay si sax ah ula xiriirtaa heerkan, waxaana laga yaabaa inay tahay tii faa'iidada ugu badan i siin lahayd haddii aan hore u imid fikradan.

Si aan u caddeeyo, aan eegno tusaale: modulekaagu wuxuu u baahan yahay in laga dhigo mid la jaan qaadaya shaqada X. Si gaar ah uma aad taqaanid function X, laakiin waxaa laguu sheegay in si aad ula jaanqaadi karto aad u baahan tahay inaad isticmaasho qaabka F. modules in la dhexgalo X si sax ah isaga la shaqeeyaan.

Koodhkaagu lama xidhiidhin qaabka F gabi ahaanba ilaa maalintii ugu horaysay ee noloshiisa, markaa hirgalintiisu sidaas uma fududaan doonto. Tani waxay cawaaqib xun ku yeelan doontaa qaybo ka mid ah cutubka. Si kastaba ha ahaatee, waxaad naftaada u tuurtaa horumarinta: waxaad ku qaadataa toddobaadyo qorista koodka, tijaabinta, soo saarista noocyada tijaabada, helitaanka jawaab-celinta, hagaajinta khaladaadka dib-u-celinta, ogaanshaha dhibaatooyinka aan la filayn, oo aan la kulmin waqtiyada kama dambaysta ah ee markii hore lagu heshiiyey, qorista kood kale, tijaabin, helitaanka xiriirinta jawaab celinta, sixitaanka khaladaadka dib-u-celinta - waxaas oo dhan si loo hirgeliyo qaabka F.

Mararka qaar waxaad si lama filaan ah u ogaaneysaa - ama laga yaabaa inaad qof ka maqasho - in laga yaabo in qaabka F uusan ku siin doonin ku habboonaanta qaabka X gabi ahaanba.

Wax la mid ah ayaa hal mar dhacay anigoo ka shaqaynaya mashruuc aan masuulka ka ahaa. Maxay tani u dhacday? Sababtoo ah waxaan lahaa faham yar oo ku saabsan waxa shaqada X ay tahay iyo sida ay ula xiriirto qaab-dhismeedka F. Maxaan sameeyaa? Weydii qofka hawsha horumarinta u xilsaaraya inuu si cad u sharaxo sida hawsha la rabay u horseeddo natiijada la rabo, halkii aad si fudud ugu celin lahayd wixii loo qabtay qaybo kale ama aad u qaadan lahayd eraygooda in tani ay tahay waxa muuqaalka X u baahan yahay inuu sameeyo.

Waayo-aragnimada mashruucani waxay i bartay in aan diido in aan bilaabo geeddi-socodka horumarinta ilaa aan si cad u fahamno sababta naloo weydiisto inaan sameyno waxyaabo gaar ah. Si toos ah u diid. Markaad hesho hawl, dareenka ugu horreeya waa inaad isla markiiba u dhaqaaqdo si aanay wakhti uga lumin. Laakin "mashruuca qabooji ilaa aan ka helno dhammaan faahfaahinta" siyaasaddu waxay yareyn kartaa waqtiga lagu lumiyo amarrada baaxadda leh.

Xitaa haddii ay isku dayaan inay cadaadis kugu saaraan, si ay kuugu qasbaan inaad shaqo bilowdo, in kasta oo aadan fahmin sababta arrintan, iska celi. Marka hore, ogow sababta laguu dhiibayo hawshan oo kale, oo go'aanso in tani tahay dariiqa saxda ah ee yoolka. Waxaas oo dhan waxay ahayd inaan si adag u barto - waxaan rajeynayaa in tusaalahaygu uu nolosha u fududayn doono kuwa akhriya tan.

Heerka afraad ee fahamka: ???

Had iyo jeer waxaa jira wax badan oo lagu barto barnaamijka, waxaana aaminsanahay in aan kaliya xoqay dusha sare ee mawduuca fahamka. Waa maxay heerarka kale ee fahamka ee aad ogaatay sannadihii la soo dhaafay ee aad ku shaqaynaysay koodka? Maxaa go'aamo ah oo aad samaysay oo saamayn togan ku yeeshay tayada koodka iyo codsiga? Maxaa go’aamo noqday khalad oo ku baray cashar qiimo leh? La wadaag khibradaada faallooyinka.

Source: www.habr.com

Add a comment