Ku hirgali falanqaynta hab-socodka, intii aad ka raadin lahayd cayayaan

Waxaa igu dhiirigaliyay inaan maqaalkan qoro tiro badan oo qalab ah oo ku saabsan falanqaynta joogtada ah ee soo kordhaysa. Marka hore, tani PVS-Bloog-studio, kaas oo si firfircoon ugu ololeeya HabrΓ© oo leh dib u eegis ku saabsan khaladaadka laga helay qalabkooda mashaariicda il furan. PVS-studio dhawaan la hirgeliyay Taageerada Java, iyo, dabcan, horumarinta IntelliJ IDEA, kuwaas oo la dhisay-in analyzer malaha waa kuwa ugu horumarsan Java maanta. waa ka fogaan waayay.

Markaad akhrinayso dib u eegista noocan oo kale ah, qofku wuxuu helayaa dareenka ah inaan ka hadlayno elixir sixir ah: riix batoonka, oo halkan waa - liiska cilladaha ee indhahaaga hortiisa. Waxay u muuqataa in marka falanqeeyayaasha ay soo hagaagaan, ay si toos ah u jiri doonaan cayayaan badan, iyo alaabooyinka lagu sawiray robots-yadani waxay noqon doonaan kuwo ka sii wanaagsan oo ka sii fiicnaanaya, iyada oo aan wax dadaal ah naga helin.

Laakiin ma jiraan elixirs sixir ah. Waxaan jeclaan lahaa inaan ka hadlo waxa sida caadiga ah aan looga hadlin qoraallada sida "halkan waxaa ah waxyaabaha robotkeena uu heli karo": waxa falanqeeyayaasha aysan sameyn karin, waa maxay doorkooda dhabta ah iyo meesha ay ku leeyihiin habka bixinta software, iyo sida loo hirgeliyo si sax ah.

Ku hirgali falanqaynta hab-socodka, intii aad ka raadin lahayd cayayaan
Ratchet ( isha: wikipedia).

Maxay Falanqeeyayaasha Joogtada ah weligood Samayn karin

Waa maxay, marka laga eego dhinaca la taaban karo, falanqaynta code isha? Waxaan quudinnaa ilo, iyo waqti gaaban (aad uga gaaban imtixaannada socda) waxaan helnaa macluumaad ku saabsan nidaamkayaga. Xaddidaadda aasaasiga ah iyo xisaab ahaan aan la dhaafi karin ayaa ah in aan sidaas ku heli karno macluumaad yar oo cidhiidhi ah.

Tusaalaha ugu caansan ee dhibaatada aan lagu xallin karin falanqaynta taagan waa dhibaatada jooji: kani waa aragti caddaynaysa in aanay suurtogal ahayn in la sameeyo algorithm guud kaas oo go'aamin kara koodhka isha ee barnaamijka in uu soo rogi doono ama uu joojin doono wakhti xaddidan. Kordhinta aragtidan waa Aragtida Bariiskaisagoo sheegaya in hanti kasta oo aan fududayn ee hawlo la xisaabin karo, go'aaminta in barnaamij gar-daran uu qiimeeyo shaqada hantidan oo kale waa dhibaato algorithm ahaan aan la xallin karin. Tusaale ahaan, waa wax aan suurtagal ahayn in la qoro falanqeeye kaas oo go'aamin kara kood kasta oo isha ku haya in barnaamijka la falanqeeyay uu yahay hirgelinta algorithm kaas oo xisaabiya, dheh, isku dhejinaya halbeegga.

Sidaa darteed, shaqeynta falanqeeyayaasha static waxay leedahay xaddidaadyo aan laga gudbi karin. Falanqeeyaha joogtada ah waligiis ma awoodi doono inuu go'aamiyo dhammaan xaaladaha sida, tusaale ahaan, dhacdada "ka reebida null pointer" ee luqadaha la tirtiri karo, ama dhammaan kiisaska si loo go'aamiyo dhacdada "sifo aan la helin" luqadaha leh qorid firfircoon. Dhammaan waxa ugu horumarsan ee falanqeeyaha static samayn karaa waa muujinta kiisas gaar ah, tirada kuwaas oo ka mid ah dhammaan dhibaatooyinka suurtogalka ah ee code ishaada, waa iyada oo aan la buunbuunin, hoos u dhaca badda.

Falanqaynta joogtada ahi maaha raadinta dhiqlaha

Gabagabadu waxay ku socotaa tan sare: falanqaynta joogtada ahi maaha hab lagu dhimo tirada cilladaha barnaamijka. Waxaan ku dadaali lahaa in aan sheego in marka ugu horeysa ee lagu codsado mashruucaaga, ay ka heli doonto meelo "madadalo" code, laakiin, waxay u badan tahay, ma heli doonto wax cillado ah oo saameeya tayada barnaamijkaaga.

Tusaalooyinka cilladaha ay si toos ah u helaan falanqeeyayaasha ayaa ah kuwo cajiib ah, laakiin waa in aynaan iloobin in tusaalooyinkan lagu helay iyaga oo sawiraya tiro badan oo codebases ah. Isla mabda'a, crackers kuwaas oo awood u leh in ay isku dayaan dhowr furood oo fudud oo tiro badan oo xisaabaad ah ayaa ugu dambeyntii helaya xisaabaadkaas leh furaha sirta ah.

Tani miyay la macno tahay in aan lagu dhaqmin falanqaynta taagan? Dabcan maya! Oo isla sabab la mid ah sababta ay mudan tahay in la hubiyo erayga sirta ah ee cusub si aad u gasho liiska joogsiga ee ereyada sirta ah ee "fudud".

Falanqaynta joogtada ahi way ka badan tahay helista cayayaanka

Dhab ahaantii, dhibaatooyinka dhabta ah ee lagu xalliyo falanqaynta ayaa aad u ballaadhan. Ka dib oo dhan, guud ahaan, falanqaynta static waa hubinta code-yada isha ee la sameeyo ka hor inta aan la bilaabin. Waa kuwan waxyaabo aad sameyn kartid:

  • Hubinta qaabka kood u samaynta macnaha ugu ballaadhan ee ereyga. Tan waxa ku jira labadaba hubinta qaabaynta iyo raadinta isticmaalka khasnadaha maran/dheeraadka ah, dejinta xadka qiyaasaha sida tirada xariiqyada/kakanaanta habka duufaanka, iwm. - wax kasta oo suurtagal ka dhigaya kood mid la akhriyi karo oo la ilaalin karo. Java aaladani waa Checkstyle, Python dhexdeeda waa flake8. Barnaamijyada fasalkan waxaa badanaa loo yaqaan "linters".
  • Ma aha oo kaliya kood la fulin karo ayaa la lafaguri karaa. Faylasha kheyraadka sida JSON, YAML, XML, .property (iyo waa in!) si toos ah loo hubiyaa inay ansax yihiin. Miyayna ka fiicneyn in la ogaado in xigashooyin aan la isku xirneyn dartiis qaabka JSON uu jabay marxaladda hore ee ansaxinta Codsiga Jiidista tooska ah marka loo eego marka la fulinayo imtixaanada ama wakhtiga Run? Qalab ku habboon ayaa diyaar ah: tusaale ahaan, YAMLlint, JSONLint.
  • Isku-dubbarididda (ama falanqaynta luuqadaha barnaamijyada firfircoon) sidoo kale waa nooc ka mid ah falanqaynta taagan. Sida caadiga ah, kombuyuutarrada ayaa awood u leh inay soo saaraan digniino muujinaya dhibaatooyinka tayada koodhka isha, mana aha in la iska indhatiro.
  • Mararka qaarkood ururintu maaha oo kaliya ururinta kood la fulin karo. Tusaale ahaan, haddii aad haysato dukumeenti qaabka AsciiDoctor, ka dibna xilligan ay isu beddeshay HTML/PDF maamulaha AsciiDoctor (Plugin Maven) waxa uu soo saari karaa digniino, tusaale ahaan, waxa ku saabsan xidhiidhada gudeed ee jabay. Tanina waa sabab wanaagsan oo aan la aqbalin Codsiga Jiidka oo leh isbeddello qoraal ah.
  • Hubinta higaada sidoo kale waa nooc ka mid ah falanqaynta taagan. Utility aspell waxa uu awoodaa in uu hubiyo higaada oo kaliya ma aha dukumentiyada, laakiin sidoo kale waxa uu ku hubiyaa koodka isha barnaamijka (faallooyinka iyo suugaanta) ee luuqadaha barnaamijyada kala duwan, oo ay ku jiraan C/C++, Java iyo Python. Khaladka higaada ee interface-ka isticmaalaha ama dukumentiyada sidoo kale waa cillad!
  • Tijaabada isku xidhka (waxa ay tahay, eeg tan ΠΈ tan Warbixinnada), in kasta oo lagu fuliyo wakhtiga tijaabada cutubka sida pytest, dhab ahaantii sidoo kale waa nooc ka mid ah falanqaynta taagan, maadaama aysan fulin koodhadhka isha inta lagu jiro fulinta.

Sida aad arki karto, helista cayayaanka liiskan waxay qaadataa doorka ugu yar ee muhiimka ah, iyo wax kasta oo kale ayaa la heli karaa iyada oo loo marayo isticmaalka qalabka furan ee bilaashka ah.

Waa kuwee noocyadan falanqaynta taagan ee ay tahay in lagu isticmaalo mashruucaaga? Dabcan, in ka badan, ka sii fiican! Waxa ugu muhiimsan waa in si sax ah loo fuliyo, taas oo laga doodi doono dheeraad ah.

Dhuumaha gaarsiinta sidii shaandheyn heerar badan ah iyo falanqaynta taagan sida kaskegeedii ugu horreeyay

Halbeegga caadiga ah ee is-dhexgalka joogtada ah waa dhuumaha (tuubada) kaas oo isbeddelaya socodka - laga bilaabo beddelka koodhka isha ilaa gaarsiinta wax soo saarka. Isku dhafka caadiga ah ee marxaladaha dhuumahani wuxuu u eg yahay sidan:

  1. falanqaynta taagan
  2. ururin
  3. imtixaanada unugga
  4. imtixaanada isdhexgalka
  5. imtixaanada UI
  6. hubinta gacanta

Isbeddellada lagu diiday marxaladda Nth ee dhuumaha looma faafin heerka N+1.

Waa maxay sababta dhabta ah ee sidan oo kale maaha? Qeybta tijaabada ee dhuumaha, tijaabiyeyaashu waxay aqoonsan doonaan Ahraamta tijaabada ee caanka ah.

Ku hirgali falanqaynta hab-socodka, intii aad ka raadin lahayd cayayaan
Ahraamta tijaabi. Xigasho: maqaal Martin Fowler.

Xagga hoose ee Ahraamtan waxaa ku yaal imtixaanno fudud in la qoro, si degdeg ah u orda, oo aan u janjeerin in ay been sheegaan. Sidaa darteed, waa inay jiraan qaar badan oo iyaga ka mid ah, waa inay daboolaan kood badan oo marka hore la fuliyo. Xagga sare ee Ahraamta, liddi ku ah waa run, markaa tirada is-dhexgalka iyo imtixaannada UI waa in la dhimo ugu yaraan lagama maarmaanka ah. Qofka silsiladan ku jira waa kan ugu qaalisan, ugu gaabis badan uguna badan ee aan la isku halleyn karin, sidaas darteed wuxuu joogaa ugu dambeyntii oo kaliya inuu qabto shaqada haddii marxaladihii hore aysan helin wax cillad ah. Si kastaba ha ahaatee, sida waafaqsan mabaadi'da isku midka ah, dhuumaha waxaa lagu dhisay qaybo aan si toos ah ula xiriirin baaritaanka!

Waxaan jeclaan lahaa inaan bixiyo isbarbardhig qaab nidaam sifeynta biyaha heerar badan ah. Biyaha wasakhda ah ayaa la siiyaa gelinta (isbeddelka cilladaha), marka la soo saaro waa inaan helnaa biyo nadiif ah, kaas oo dhammaan wasakhooyinka aan loo baahnayn la tirtiro.

Ku hirgali falanqaynta hab-socodka, intii aad ka raadin lahayd cayayaan
Shaandhaynta heerarka kala duwan Xigasho: Wikimedia Commons

Sidaad ogtahay, filtarrada nadiifinta waxaa loo qaabeeyey si ay cascade kasta oo soo socda u shaandhayso qayb yar oo wasakhaysan. Isla mar ahaantaana, qashinka sifaynta adagi waxay leeyihiin wax soo saar sare iyo kharash hoose. Isku ekaanshahayaga, tani waxay ka dhigan tahay in albaabbada tayada wax-soo-gelinta ahi ay dhakhso badan yihiin, u baahan yihiin dadaal yar si ay u bilaabaan, oo ay laftoodu yihiin kuwo aan fasiraad lahayn marka la hawlgalinayo - tanina waa sida saxda ah ee ay u dhisan yihiin. Doorka falanqaynta joogtada ah, kaas oo, sida aynu hadda fahamnay, awood u leh in uu ka saaro oo kaliya cilladaha ugu weyn, waa doorka daaqsinka - "dhoobo" bilowga hore ee qashinka shaandhada.

Falanqaynta joogtada ah lafteedu ma wanaajiso tayada badeecada ugu dambeysa, sida "dabin dhoobo" uusan ka dhigin biyaha la cabbi karo. Haddana, si la mid ah walxaha kale ee gudbinta, muhiimaddiisu waa caddahay. Inkasta oo shaandhaynta marxalado badan, marxaladaha wax-soo-saarka ay awood u leeyihiin inay qabtaan wax kasta oo la mid ah marxaladaha gelinta, way caddahay waxa cawaaqibka ah ee isku dayga lagu doonayo in lagu helo oo kaliya marxaladaha nadiifinta ganaaxa, iyada oo aan la helin heerar wax-is-dabarin ah, ayaa horseedi doona.

Ujeedada "ruuxiyaha dhoobada" waa in la dejiyo qashinka soo socda si ay u qabtaan cilladaha aadka u weyn. Tusaale ahaan, ugu yaraan, koodhka dib-u-eegista waa in aanu ku mashquulin kood si khaldan loo habeeyey iyo ku xad-gudbida xeerarka codaynta ee la dejiyay (sida qaws dheeri ah ama laamo si qoto dheer u buul leh). Cayayaanka sida NPE-da waa in lagu qabtaa tijaabooyin unug, laakiin haddii xitaa baaritaanka ka hor uu falanqeeyuhu noo tilmaamo in cayayaanka ay qasab tahay inuu dhaco, tani waxay si weyn u dedejin doontaa hagaajinteeda.

Waxaan u maleynayaa inay hadda caddahay sababta falanqaynta joogtada ahi aysan u wanaajin tayada badeecada haddii mararka qaarkood la isticmaalo, waana in si joogto ah loo isticmaalo si loo shaandheeyo isbeddellada leh cilladaha guud. Weydiinta haddii la isticmaalo falanqeeye taagan ay wanaajin doonto tayada alaabtaada waxay qiyaas ahaan la mid tahay weydiinta "Tayada cabbidda biyaha laga soo qaado balliga wasakhaysan ma soo fiicnaan doontaa haddii lagu dhex maro kolander?"

Hirgelinta mashruuc dhaxal gal ah

Su'aal wax ku ool ah oo muhiim ah: sida loo soo bandhigo falanqaynta joogtada ah ee habka isdhexgalka joogtada ah sida "albaabka tayada"? Marka la eego tijaabooyinka tooska ah, wax walbaa waa iska cadahay: waxaa jira tijaabo tijaabo ah, guuldarada mid ka mid ah ayaa ah sabab ku filan oo lagu aamino in shirku aanu dhaafin albaabka tayada. Isku day in lagu rakibo albaab si la mid ah oo ku salaysan natiijooyinka falanqaynta joogtada ah ayaa ku guuldareysta: waxaa jira digniino falanqeyn oo aad u badan oo ku jira xeerka dhaxalka, ma rabto inaad gebi ahaanba iska indhatirto, laakiin sidoo kale waa wax aan macquul aheyn in la joojiyo bixinta a badeecada sababtoo ah waxay ka kooban tahay digniinaha falanqeeye.

Marka ugu horraysa la isticmaalo, falanqeeyuhu waxa uu soo saaraa tiro aad u badan oo digniino ah mashruuc kasta, kuwaas oo badidoodu aanay xidhiidh la lahayn shaqada saxda ah ee alaabta. Suurtagal maaha in dhammaan faallooyinkaas la saxo hal mar, qaar badan oo iyaga ka mid ahna lagama maarmaan. Ka dib oo dhan, waxaan ognahay in badeecadeena guud ahaan ay shaqeyso, xitaa ka hor intaan la bilaabin falanqaynta static!

Natiijo ahaan, dad badan ayaa naftooda ku xaddidaya isticmaalka joogtada ah ee falanqaynta, ama u isticmaalaan kaliya habka wargelinta, marka warbixinta falanqaynta si fudud loo soo saaro inta lagu jiro kulanka. Tani waxay u dhigantaa maqnaanshaha wax falanqeyn ah, sababtoo ah haddii aan horeyba u haysanay digniino badan, ka dibna dhacdada mid kale (iyada oo aan loo eegin sida ay u daran tahay) marka koodhka isbeddelku uu tago lama ogaan karo.

Siyaabaha soo socda ee lagu soo bandhigo albaabada tayada leh ayaa loo yaqaan:

  • Wuxuu xadeeyaa tirada guud ee digniinaha, ama tirada digniinaha oo loo qaybiyay tirada koodka. Tani si fiican uma shaqeyso, sababtoo ah iridda noocan oo kale ah ayaa si xor ah u boodaya isbeddelada cilladaha cusub ilaa xadkooda la dhaafo.
  • Hagaajinta, mar uun, dhammaan digniinihii hore ee koodka sida la iska indhatiray, iyo fashilinta dhismaha marka digniino cusub dhacaan. Shaqadan waxaa bixiya PVS-studio iyo qaar ka mid ah agabka khadka, sida Codacsiga. Maan helin fursad aan kaga shaqeeyo PVS-studio, sida waayo-aragnimadayda Codacy, dhibaatadooda ugu weyni waa in qeexida waxa "da' ah" iyo waxa "cusub" khaladku yahay algorithm adag oo aan ahayn had iyo jeer si sax ah u shaqeeya, gaar ahaan haddii faylalka si weyn wax looga beddelay ama dib loo magacaabay. Xusuustayda, Codsigu wuxuu ka boodi karaa digniino cusub codsi jiidis, isla markaana aan ka boodin codsi jiid sababtuna waa digniino aan la xidhiidhin isbeddelada koodka PR-gan.
  • Fikradayda, xalka ugu waxtarka badan ayaa lagu qeexay buugga Gaarsiinta Joogtada ah habka "racheting". Fikradda ugu weyn ayaa ah in hantida sii deyn kasta ay tahay tirada digniinaha falanqaynta taagan, oo kaliya isbeddelada aan kordhinayn tirada guud ee digniinaha ayaa la oggol yahay.

Ratchet

Waxay u shaqeysaa sidatan:

  1. Marxaladda hore, diiwaanka xogta badan ee la sii daayay ee tirada digniinaha ee koodka ay heleen falanqeeyayaasha ayaa la hirgeliyay. Markaa, marka aad dhisto korka, maamulahaaga kaydka waxa loo qoray ma aha oo kaliya "sii dayn 7.0.2", laakiin "sii daynta 7.0.2 oo ka kooban 100500 digniinaha hubinta". Haddii aad isticmaalayso maamulaha kaydka ee horumarsan (sida Farshaxanka), way fududahay inaad kaydiso xogta badan ee ku saabsan sii deyntaada.
  2. Hadda codsi kasta oo jiidis ah oo ku saabsan dhismuhu wuxuu isbarbar dhigayaa tirada digniinaha uu helayo iyo lambarka ku jira sii deynta hadda. Haddii PR ay keento kororka tiradan, markaa koodhka ma dhaafo albaabka tayada ee falanqaynta joogtada ah. Haddii tirada digniintu ay yaraato ama aysan isbeddelin, markaa way dhaaftaa.
  3. Siideynta soo socota, tirada digniinaha ee dib loo xisaabiyay ayaa dib loogu qori doonaa xogta badan ee sii deynta.

Waxyar aayar, laakiin si joogto ah (sida ratchet), tirada digniinta waxay u ekaan doontaa eber. Dabcan, nidaamka waxaa lagu khiyaami karaa iyadoo la soo bandhigayo digniin cusub, laakiin la saxo qof kale. Tani waa wax caadi ah, sababtoo ah muddada dheer waxay bixisaa natiijada: digniinaha waa la hagaajiyaa, sida caadiga ah, maaha mid mid mid ah, laakiin isla markiiba koox ka mid ah nooc gaar ah, iyo dhammaan digniinaha si fudud loo tirtiro ayaa si dhakhso ah loo tirtiraa.

Jaantuskani waxa uu tusinayaa tirada guud ee digniinaha qaabka Checkstyle ee lixda bilood ee hawlgalka "ratchet" ee noocan oo kale ah mid ka mid ah mashaariicdayada il furan. Tirada digniinta ayaa hoos u dhacday si heersare ah, tanina waxay u dhacday si dabiici ah, oo barbar socota horumarinta alaabta!

Ku hirgali falanqaynta hab-socodka, intii aad ka raadin lahayd cayayaan

Waxaan isticmaalaa qaabkan qaab wax laga beddelay, oo si gooni ah u tirinaya digniinaha moduleka mashruuca iyo aaladda falanqaynta, taasoo keentay faylka YAML oo wata xogta badan ee kulanka oo u eg sidan:

celesta-sql:
  checkstyle: 434
  spotbugs: 45
celesta-core:
  checkstyle: 206
  spotbugs: 13
celesta-maven-plugin:
  checkstyle: 19
  spotbugs: 0
celesta-unit:
  checkstyle: 0
  spotbugs: 0

Nidaam kasta oo CI ah oo horumarsan, ratchet ayaa loo hirgelin karaa qalab kasta oo falanqaynta joogtada ah iyada oo aan lagu tiirsanayn plugins iyo qalabka dhinac saddexaad. Mid kasta oo ka mid ah falanqeeyayaasha ayaa soo saara warbixintiisa qoraal fudud ama qaab XML ah oo ay fududahay in la kala saaro. Way hadhsan tahay in la diiwaan geliyo kaliya macquulnimada lagama maarmaanka ah ee qoraalka CI. Waxaad arki kartaa sida tan looga hirgaliyo mashaariicdayada isha furan ee ku salaysan Jenkins iyo Artifctory, waad awoodaa halkan ama halkan. Labada tusaaleba waxay ku xidhan yihiin maktabadda ratchetlib: habka countWarnings() wuxuu ku xisaabiyaa xml tags faylalka ay soo saareen Checkstyle iyo Spotbugs sida caadiga ah, iyo compareWarningMaps() fuliyaa ratchet isku mid ah, tuuraya qalad marka tirada digniinta ee mid ka mid ah qaybaha kor u kaco.

Hirgelinta ratchet xiiso leh ayaa suurtogal u ah falanqaynta higaada ee faallooyinka, suugaanta qoraalka, iyo dukumentiyada iyadoo la adeegsanayo aspell. Sidaad ogtahay, marka la hubinayo higaada, dhammaan ereyada aan la aqoon qaamuuska caadiga ah maahan kuwo khaldan, waxaa lagu dari karaa qaamuuska isticmaalaha. Haddii aad qaamuuska adeegsadaha ka dhigto qayb ka mid ah koodhka isha mashruuca, markaa albaabka tayada higgaadda waxa loo qaabayn karaa sida soo socota: fulinta aspell oo leh heerka iyo qaamuuska isticmaalaha ma aha ha helin khaladaad higaada.

Ku saabsan muhiimadda ay leedahay hagaajinta nooca falanqaynta

Gebogebadii, waxyaabaha soo socda waa in la ogaadaa: si kasta oo aad u fuliso falanqaynta dhuumahaaga gudbinta, nooca falanqaynta waa in la hagaajiyaa. Haddii aad u ogolaato falanqeeyuhu inuu si kedis ah u cusbooneysiiyo, markaa marka la dhisayo codsiga soo socda ee soo jiidashada, cillado cusub ayaa laga yaabaa inay "soo baxaan" kuwaas oo aan la xiriirin isbeddelada koodhka, laakiin waxay la xiriiraan xaqiiqda ah in falanqeeyaha cusub uu si fudud u heli karo cillado badan - iyo tani waxay jebin doontaa habka aqbalida codsiyada jiidista . Casriyeynta falanqeeyuhu waa inay noqotaa fal miyir qaba. Si kastaba ha ahaatee, si adag u hagaajinta qaybta qayb kasta oo shirku waa shuruud lagama maarmaan ah guud ahaan iyo mawduuc dood gooni ah.

natiijooyinka

  • Falanqaynta joogtada ahi kuuma heli doonto cayayaan mana hagaajin doonto tayada alaabtaada natiijada hal codsi. Saamaynta kaliya ee togan ee tayada waa isticmaalkeeda joogtada ah inta lagu jiro habka bixinta.
  • Helitaanka dhiqlaha maaha hawsha ugu weyn ee falanqaynta gabi ahaanba, inta badan hawlaha waxtarka leh ayaa laga heli karaa aaladaha furan.
  • Hirgelinta albaabada tayada leh ee ku salaysan natiijooyinka falanqaynta ma guurtada ah ee marxaladda ugu horreysa ee dhuumaha gudbinta, adoo isticmaalaya ratchet code dhaxalka.

tixraacyada

  1. Gaarsiinta Joogtada ah
  2. A. Kudryavtsev: Falanqaynta barnaamijka: sida loo fahmo inaad tahay barnaamij-yaqaan wanaagsan ka warbixi hababka kala duwan ee falanqaynta koodhka (ma aha oo kaliya mid taagan!)

Source: www.habr.com

Add a comment