
Ejja niddiskutu għaliex l-għodod CI u CI huma affarijiet kompletament differenti.
X'uġigħ huwa maħsub li ssolvi CI, minn fejn ġiet l-idea, x'inhuma l-aħħar konfermi li taħdem, kif tifhem li għandek prattika u mhux biss installat Jenkins.
L-idea li nagħmel rapport dwar l-Integrazzjoni Kontinwa dehret sena ilu, meta kont immur għall-intervisti u nfittex impjieg. Tkellimt ma 'kumpaniji 10-15, waħda minnhom biss kienet kapaċi twieġeb b'mod ċar x'inhi CI u tispjega kif indunaw li ma kellhomx. Il-bqija kienu qed jitkellmu bla sens dwar Jenkins :) Well, għandna Jenkins, jibni, CI! Matul ir-rapport, ser nipprova nispjega x'inhi fil-fatt l-Integrazzjoni Kontinwa u għaliex Jenkins u għodod simili għandhom relazzjoni dgħajfa ħafna ma' dan.

Allura, x’jiġi f’moħħok meta tisma’ l-kelma CI? Ħafna nies jaħsbu dwar Jenkins, Gitlab CI, Travis, eċċ.

Anke jekk aħna google dan, se tagħtina dawn l-għodod.

Jekk int familjari mat-talba, imbagħad immedjatament wara li telenka l-għodod, jgħidulek li CI hija meta tibni u tmexxi testijiet f'Pull Request għal impenn.

L-Integrazzjoni Kontinwa mhix dwar għodod, mhux dwar assemblaġġi b'testijiet fil-fergħa! L-Integrazzjoni Kontinwa hija l-prattika ta 'integrazzjoni frekwenti ħafna ta' kodiċi ġdid u biex tużaha m'hemm xejn meħtieġ li Jenkins, GitLab, eċċ.

Qabel ma nifhmu kif tidher CI sħiħa, ejja l-ewwel nidħlu fil-kuntest tan-nies li ħarġu biha u nħossu l-uġigħ li kienu qed jippruvaw isolvu.

U solvew l-uġigħ ta 'ħidma flimkien bħala tim!

Ejja nħarsu lejn eżempji tad-diffikultajiet li jiffaċċjaw l-iżviluppaturi meta jiżviluppaw fi timijiet. Hawnhekk għandna proġett, fergħa kaptan f'git u żewġ żviluppaturi.

U marru jaħdmu kif kulħadd kien ilu mdorri. Ħadna kompitu fl-iskema kbira tal-affarijiet, ħloqna fergħa tal-karatteristiċi, u ktibna l-kodiċi.

Wieħed spiċċa l-karatteristika aktar malajr u ingħaqadha fil-kaptan.

It-tieni wieħed kellu bżonn aktar ħin, ingħaqad aktar tard u spiċċa b’kunflitt. Issa, minflok ma jikteb il-karatteristiċi li n-negozju jeħtieġ, l-iżviluppatur iqatta 'l-ħin u l-enerġija tiegħu jsolvi l-kunflitti.

Aktar ma jkun diffiċli li tgħaqqad il-karatteristika tiegħek ma 'kaptan komuni, aktar inqattgħu ħin fuqha. U wrejt dan b'eżempju pjuttost sempliċi. Dan huwa eżempju fejn hemm 2 żviluppaturi biss Immaġina jekk 10 jew 15 jew 100 persuna f'kumpanija jiktbu lil repożitorju wieħed. Int se tmur miġnun biex issolvi dawn il-kunflitti kollha.

Hemm każ kemmxejn differenti. Għandna kaptan u xi żviluppaturi jagħmlu xi ħaġa.

Huma ħolqu friegħa.

Wieħed miet, kollox kien tajjeb, għadda l-kompitu.

It-tieni żviluppatur, sadanittant, għadda l-kompitu tiegħu. Ejja ngħidu li bagħatha għal reviżjoni. Ħafna kumpaniji għandhom prattika msejħa reviżjoni. Min-naħa waħda, din il-prattika hija tajba u utli, min-naħa l-oħra, tnaqqasna f'ħafna modi. Mhux se nidħlu f'dan, imma hawn eżempju kbir ta 'x'tista' twassal għal storja ta' reviżjoni ħażina. Int issottomettijt talba ta' pull għal reviżjoni. M'hemm xejn aktar għall-iżviluppatur li jagħmel. X'jibda jagħmel? Jibda jieħu dmirijiet oħra.

Matul dan iż-żmien, it-tieni żviluppatur għamel xi ħaġa oħra.

L-ewwel waħda temm it-tielet kompitu.

U wara xi żmien twil, ir-reviżjoni tiegħu ġiet ittestjata, u qed jipprova jasal għal qbil. Allura x'qed jiġri? Huwa jaqbad numru kbir ta 'kunflitti. Għaliex? Minħabba li filwaqt li t-talba tal-ġibda tiegħu kienet imdendla fir-reviżjoni, ħafna affarijiet kienu diġà nbidlu fil-kodiċi.
Minbarra l-istorja bil-kunflitti, hemm storja bil-komunikazzjonijiet. Waqt li l-ħajt tiegħek huwa mdendel fuq ir-reviżjoni, waqt li tkun qed tistenna xi ħaġa, waqt li tkun qed taħdem fuq karatteristika għal żmien twil, tieqaf issegwi x'iktar qed jinbidel fil-bażi tal-kodiċi tas-servizz tiegħek. Forsi dak li qed tipprova ssolvi issa kien diġà solvut ilbieraħ u tista 'tieħu xi metodu u terġa' tużah. Imma int mhux se tara dan għaliex inti dejjem taħdem ma 'fergħa antikwata. U din il-fergħa antikwata dejjem tirriżulta f'li jkollok issolvi kunflitt ta' amalgamazzjoni.
Jirriżulta li jekk naħdmu bħala tim, jiġifieri, mhux persuna waħda tkun qed tiċċaqlaq fir-repożitorju, iżda 5-10 persuni, allura aktar ma nżidux il-kodiċi tagħna mal-kaptan, aktar insofru għax fl-aħħar mill-aħħar għandna bżonn. xi ħaġa imbagħad ingħaqadha. U aktar ma jkollna kunflitti, u l-verżjoni l-antika naħdmu magħha, aktar ikollna problemi.

Li nagħmlu xi ħaġa flimkien hija ta’ wġigħ! Dejjem nitfixklu lil xulxin.

Din il-problema kienet innutata aktar minn 20 sena ilu. Sibt l-ewwel aċċenn tal-prattika tal-Integrazzjoni Kontinwa fl-Ipprogrammar Extreme.
Extreme Programming huwa l-ewwel qafas b'aġilità. Il-paġna dehret fl-96. U l-idea kienet li nużaw xi tip ta 'prattiċi ta' programmazzjoni, ippjanar u affarijiet oħra, sabiex l-iżvilupp ikun flessibbli kemm jista 'jkun, sabiex inkunu nistgħu nirrispondu malajr għal kwalunkwe tibdil jew rekwiżiti mill-klijenti tagħna. U bdew jiffaċċjaw dan 24 sena ilu, li jekk tagħmel xi ħaġa għal żmien twil ħafna u fuq il-ġenb, allura tqatta’ aktar ħin fuqha għax ikollok kunflitti.

Issa se nanalizzaw il-frażi "Integrazzjoni Kontinwa" individwalment. Jekk nittraduċuha direttament, niksbu integrazzjoni kontinwa. Imma kemm hu kontinwu mhuwiex ċar ħafna; Imma kemm għandha integrazzjoni lanqas hija ovvja ħafna.
U hu għalhekk li issa qed nagħtikom kwotazzjonijiet minn Extreme Programming. U aħna se nanalizzaw iż-żewġ kelmiet separatament.
Integrazzjoni - Kif diġà għedt, naħdmu biex niżguraw li kull inġinier jaħdem bl-aktar verżjoni attwali tal-kodiċi, sabiex jistinka biex iżid il-kodiċi tiegħu kemm jista 'jkun spiss ma' fergħa komuni, sabiex dawn ikunu fergħat żgħar. Għax jekk huma kbar, allura nistgħu faċilment noqogħdu ma 'konflitti ta' amalgamazzjoni għal ġimgħa. Dan huwa veru speċjalment jekk ikollna ċiklu ta 'żvilupp twil bħal kaskata, fejn l-iżviluppatur mar għal xahar biex jaqta' xi karatteristika enormi. U se jibqa' mwaħħal fl-istadju ta' integrazzjoni għal żmien twil ħafna.
L-integrazzjoni hija meta nieħdu l-fergħa tagħna u nintegrawha mal-kaptan, aħna ngħaqqduha. Hemm għażla aħħarija meta nkunu żviluppaturi transbase, fejn naħdmu biex niżguraw li immedjatament niktbu lill-kaptan mingħajr fergħat żejda.
B'mod ġenerali, l-integrazzjoni tfisser li tieħu l-kodiċi tiegħek u tkaxkarha fil-kaptan.

X'inhu mfisser hawnhekk bil-kelma "kontinwu", dak li jissejjaħ kontinwità? Il-prattika timplika li l-iżviluppatur jistinka biex jintegra l-kodiċi tiegħu malajr kemm jista 'jkun. Dan huwa l-għan tiegħu meta jwettaq kwalunkwe kompitu - li jdaħħal il-kodiċi tiegħu fil-kaptan kemm jista 'jkun malajr. F'dinja ideali, l-iżviluppaturi jagħmlu dan kull ftit sigħat. Jiġifieri, tieħu problema żgħira u tgħaqqadha fil-kaptan. Kollox huwa kbir. Dan huwa dak li tistinka għalih. U dan irid isir kontinwament. Hekk kif tagħmel xi ħaġa, immedjatament tpoġġiha fil-kaptan.
U l-iżviluppatur li jagħmel xi ħaġa huwa responsabbli għal dak li għamel biex din taħdem u ma tkisser xejn. Dan huwa fejn normalment toħroġ l-istorja tat-test. Irridu nwettqu xi testijiet fuq l-impenn tagħna, fuq l-għaqda tagħna, biex niżguraw li taħdem. U dan huwa fejn Jenkins jista 'jgħinek.
Imma bi stejjer: ejja nagħmlu l-bidliet żgħar, ejja nħallu l-kompiti jkunu żgħar, ejja nagħmlu problema u immedjatament nippruvaw inkorporawha b'xi mod fil-kaptan - l-ebda Jenkins mhu se jgħin hawn. Minħabba li Jenkins jgħinek biss tmexxi testijiet.
Tista 'tagħmel mingħajrhom. Dan mhu se tweġġgħek xejn. Minħabba li l-għan tal-prattika huwa li tkejjel kemm jista 'jkun ta' spiss, sabiex ma taħlix ammont kbir ta 'ħin fuq xi kunflitti fil-futur.
Ejja nimmaġinaw li għal xi raġuni ninsabu fl-2020 mingħajr l-Internet. U naħdmu lokalment. M'għandniex Jenkins. Dan tajjeb. Inti xorta tista 'tmur 'il quddiem u tagħmel fergħa lokali. Int ktibt xi kodiċi fiha. Lestejna l-kompitu fi 3-4 sigħat. Aħna qalbu għall-kaptan, għamilna git pull, u ingħaqadna l-fergħa tagħna hemmhekk. Lest. Jekk tagħmel dan spiss, prosit, għandek Integrazzjoni Kontinwa!

X’evidenza fid-dinja moderna hemm li ta’ min tonfoq l-enerġija fuqha? Għax b'mod ġenerali huwa diffiċli. Jekk tipprova taħdem hekk, tifhem li xi ppjanar issa se jiġi affettwat, ikollok tiddedika aktar ħin għad-dekompożizzjoni tal-kompiti. Għax jekk tagħmel bniedem..., allura ma tkunx tista’ tispiċċa malajr u, għaldaqstant, tidħol fl-inkwiet. Ma jkollokx aktar prattika.
U se jkun għali. Mhux se jkun possibbli li taħdem immedjatament minn għada bl-użu tal-Integrazzjoni Kontinwa. Se tieħu inti kollha żmien twil ħafna biex tidra, se tieħu inti żmien twil ħafna biex jidraw il-kompiti ta 'dekompożizzjoni, se jieħu żmien twil ħafna biex jidraw terġa' tagħmel il-prattika tar-reviżjoni, jekk għandek waħda . Għax l-għan tagħna hu li llum idub. U jekk tagħmel reviżjoni fi żmien tlett ijiem, imbagħad ikollok problemi u l-Integrazzjoni Kontinwa mhix qed taħdem għalik.
Imma għandna xi evidenza rilevanti bħalissa li tgħidilna li l-investiment f'din il-prattika jagħmel sens?

L-ewwel ħaġa li ġiet f'moħħi kienet State of DevOps. Dan huwa studju li l-guys ilhom jagħmlu għal 7 snin. Issa jagħmlu dan bħala organizzazzjoni indipendenti, iżda taħt Google.
U l-istudju tagħhom tal-2018 wera korrelazzjoni bejn kumpaniji li jippruvaw jużaw fergħat ta 'ħajja qasira li jintegraw malajr, jintegraw ta' spiss, u għandhom indikaturi tal-prestazzjoni tal-IT aħjar.
X'inhuma dawn l-indikaturi? Dawn huma 4 metriċi li jieħdu mill-kumpaniji kollha fil-kwestjonarji tagħhom: frekwenza ta 'skjerament, ħin ta' tmexxija għall-bidliet, ħin biex jirrestawraw is-servizz, rata ta 'falliment tal-bidla.
U, l-ewwelnett, hemm din il-korrelazzjoni, nafu li l-kumpaniji li jkejlu spiss ikollhom metriċi ħafna aħjar. U għandhom diviżjoni ta 'kumpaniji f'diversi kategoriji: dawn huma kumpaniji bil-mod li jipproduċu xi ħaġa bil-mod, prestazzjoni medja, prestazzjoni għolja u elite. L-elite huma Netflix, Amazon, li huma super veloċi, jagħmlu kollox malajr, sabiħ u effiċjenti.

It-tieni storja, li ġrat xahar ilu biss. Technology Radar għandu artiklu kbir dwar Gitflow. Gitflow huwa differenti mill-oħrajn kollha peress li l-fergħat tiegħu għandhom ħajja twila. Hemm fergħat ta 'rilaxx li jgħixu għal żmien twil, u fergħat karatteristika li jgħixu wkoll għal żmien twil. Din il-prattika fit-Teknoloġija tar-Radar mxiet għal HOLD. Għaliex? Għax in-nies jiffaċċjaw l-uġigħ tal-integrazzjoni.
Jekk il-fergħa tiegħek tgħix għal żmien twil ħafna, din teħel, tmur immuffata, u nibdew nqattgħu aktar ħin nippruvaw nagħmlu xi tip ta 'bidla fiha.
U reċentement l-awtur ta 'Gitflow qal li jekk l-għan tiegħek huwa l-Integrazzjoni Kontinwa, jekk l-għan tiegħek huwa li trid tirrombla spiss kemm jista' jkun, allura Gitflow hija idea ħażina. Huwa żied separatament mal-artiklu li jekk għandek backend fejn tista 'tistinka għal dan, allura Gitflow huwa superfluwu għalik, għaliex Gitflow se jrattab, Gitflow se joħloq problemi għalik bl-integrazzjoni.
Dan ma jfissirx li Gitflow huwa ħażin u m'għandux jintuża. Huwa għal okkażjonijiet oħra. Pereżempju, meta jkollok bżonn tappoġġja diversi verżjonijiet ta’ servizz jew applikazzjoni, jiġifieri fejn ikollok bżonn appoġġ għal perjodu twil ta’ żmien.
Imma jekk titkellem ma 'nies li jappoġġjaw servizzi bħal dawn, tisma' ħafna uġigħ dwar il-fatt li din il-verżjoni kienet 3.2, li kienet 4 xhur ilu, iżda din it-tiswija ma kinitx inkluża fiha u issa, sabiex tagħmilha, għandek bżonn tagħmel mazz ta 'bidliet. U issa huma mwaħħla mill-ġdid, u issa ilhom fidling madwar għal ġimgħa jippruvaw jimplimentaw xi karatteristika ġdida.
Kif innota b'mod korrett Alexander Kovalev fiċ-chat, il-korrelazzjoni mhix l-istess bħall-kawżalità. Dan huwa minnu. Jiġifieri, m'hemm l-ebda konnessjoni diretta li jekk għandek Integrazzjoni Kontinwa, allura l-metriċi kollha jkunu kbar. Iżda hemm korrelazzjoni pożittiva li jekk wieħed ikun wieħed, allura x'aktarx l-ieħor huwa wkoll. Mhux fatt, imma x'aktarx. Huwa biss korrelazzjoni.

Jidher li diġà qed nagħmlu xi ħaġa, jidher li diġà qed ngħaqqdu, imma kif nistgħu nifhmu li għad għandna Integrazzjoni Kontinwa, li qed ningħaqdu spiss?
Jez Humble huwa l-awtur ta 'Manwal, Aċċelera, il-websajt Kunsinna Kontinwa, u l-ktieb Kunsinna Kontinwa. Huwa joffri dan it-test:
- Il-kodiċi tal-inġinier jasal għand il-kaptan kuljum.
- Għal kull impenn li tagħmel testijiet tal-unità.
- Il-bini fil-kaptan waqa ', ġie ffissat f'madwar 10 minuti.
Jissuġġerixxi li tuża test bħal dan biex tiżgura li jkollok prattika biżżejjed.
Insib lil dan tal-aħħar ftit kontroversjali. Jiġifieri, jekk tista 'tiffissaha f'10 minuti, allura għandek Integrazzjoni Kontinwa, tinstema' ftit stramba, fl-opinjoni tiegħi, iżda jagħmel sens. Għaliex? Għax jekk tiffriża spiss, dan ifisser li l-bidliet tiegħek huma żgħar. Jekk bidla żgħira tfisser il-master build tiegħek hija miksura, allura tista 'ssib eżempju malajr minħabba li l-bidla hija żgħira. Hawnhekk kellek amalgamazzjoni żgħira, 20-30 linja fiha nbidlu. U, għalhekk, tista 'tifhem malajr x'kienet ir-raġuni, minħabba li l-bidliet huma ċkejkna, għandek żona żgħira ħafna biex tfittex il-problema.
U anki jekk il-prod tagħna jaqa 'farrak wara r-rilaxx, allura jekk ikollna l-prattika tal-Integrazzjoni Kontinwa, huwa ħafna aktar faċli għalina li naġixxu, minħabba li l-bidliet huma ċkejkna. Iva, dan se jaffettwa l-ippjanar. Dan iweġġa'. U, probabbilment, l-iktar ħaġa diffiċli f'din il-prattika hija li tidra tkisser il-kompiti, jiġifieri kif tagħmel dan sabiex tkun tista 'tieħu xi ħaġa u tagħmel dan fi ftit sigħat u fl-istess ħin tgħaddi reviżjoni, jekk għandek waħda. Ir-reviżjoni hija uġigħ separat.
It-testijiet tal-unità huma biss assistent li jgħinek tifhem jekk l-integrazzjoni tiegħek kinitx ta’ suċċess u jekk xejn ma kienx miksur. Fl-opinjoni tiegħi, dan ukoll mhuwiex kompletament obbligatorju, għaliex dan mhuwiex il-punt tal-prattika.
Din hija introduzzjoni qasira għall-Integrazzjoni Kontinwa. Dak kollu hemm għal din il-prattika. Jien lest għall-mistoqsijiet.
Ser nerġa' nġabar fil-qosor:
- L-Integrazzjoni Kontinwa mhix Jenkins, mhix Gitlab.
- Din mhix għodda, hija prattika li ngħaqqdu l-kodiċi tagħna fil-kaptan kemm jista 'jkun spiss.
- Nagħmlu dan sabiex nevitaw l-uġigħ enormi li jinqala 'b'għaqdiet fil-futur, jiġifieri, nesperjenzaw ftit uġigħ issa biex ma nesperjenzawx ħafna fil-futur. Dak hu l-punt kollu.
- Fuq in-naħa hemm komunikazzjoni permezz ta 'kodiċi, iżda rari ħafna nara dan, iżda dan huwa wkoll dak li kien iddisinjat għalih.
mistoqsijiet
X'għandek tagħmel b'kompiti mhux dekomposti?
Iddekomponi. X'inhi l-problema? Tista' tagħti eżempju li hemm kompitu u mhux dekompost?
Hemm ħidmiet li ma jistgħux jiġu dekomposti mill-kelma "kompletament", pereżempju, dawk li jeħtieġu kompetenza profonda ħafna u li fil-fatt jistgħu jiġu solvuti matul xahar biex jinkiseb xi riżultat diġestibbli.
Jekk nifhimkom b'mod korrett, allura hemm xi kompitu kbir u kumpless, li r-riżultat tiegħu se jkun viżibbli biss f'xahar?
Iva, hekk hu. Iva, se jkun possibbli li jiġi evalwat ir-riżultat mhux aktar kmieni minn xahar.
Multa. B'mod ġenerali din mhix problema. Għaliex? Għax f’dan il-każ, meta nitkellmu dwar friegħi, ma nkunux qed nitkellmu fuq friegħa b’karatteristika. Il-karatteristiċi jistgħu jkunu kbar u kumplessi. Jistgħu jaffettwaw numru kbir ta 'komponenti. U forsi ma nistgħux nagħmluhom kompletament f'fergħa waħda. Dan tajjeb. Għandna bżonn biss li nkissru din l-istorja. Jekk karatteristika mhix kompletament lesta, dan ma jfissirx li xi biċċiet tal-kodiċi tagħha ma jistgħux jingħaqdu. Żidt, ngħidu aħna, il-migrazzjoni u hemm xi stadji ġewwa l-karatteristika. Ejja ngħidu li għandek stadju - agħmel migrazzjoni, żid metodu ġdid. U diġà tista 'tkejjel dawn l-affarijiet kuljum.
Multa. X'inhu l-punt mela?
X'inhu l-punt li joqtol affarijiet żgħar kuljum?
Iva.
Jekk jiksru xi ħaġa, taraha mill-ewwel. Għandek biċċa żgħira li kissret xi ħaġa, huwa aktar faċli għalik li tirranġaha. Il-punt hu li tgħaqqad biċċa żgħira issa hija ħafna aktar faċli milli tgħaqqad xi ħaġa kbira fi ftit ġimgħat. U t-tielet punt huwa li inġiniera oħra se jaħdmu bil-verżjoni attwali tal-kodiċi. Huma se jaraw li xi migrazzjonijiet ġew miżjuda hawn, u mbagħad deher xi metodu li jistgħu wkoll ikunu jridu jużaw. Kulħadd se jara x'qed jiġri fil-kodiċi tiegħek. Huwa għal dawn it-tliet affarijiet li ssir il-prattika.
Grazzi, il-kwistjoni hija magħluqa!
(Oleg Soroka) Nista nżid? Inti għidt kollox b'mod korrett, irrid inżid biss frażi waħda.
So.
Bl-Integrazzjoni Kontinwa, il-kodiċi jingħaqad f'fergħa komuni mhux meta l-karatteristika tkun kompletament lesta, iżda meta l-bini jieqaf jitkisser. U tista 'timpenja ruħha b'mod sikur biex tikkontrolla kemm-il darba kuljum trid. It-tieni aspett huwa li jekk għal xi raġuni ma tistax tkisser il-kompitu ta 'kull xahar f'kompiti għal mill-inqas tlett ijiem, jien sieket madwar tliet sigħat, allura għandek problema kbira. U l-fatt li m'għandekx Integrazzjoni Kontinwa hija l-inqas minn dawn il-problemi. Dan ifisser li għandek problemi bl-arkitettura u prattiċi ta 'inġinerija żero. Għax anki jekk din hija riċerka, allura fi kwalunkwe każ trid tiġi fformulata fil-forma ta 'ipoteżi jew ċiklu.
Tkellimna dwar 4 metriċi li jiddistingwu kumpaniji ta 'suċċess minn dawk li għadhom lura. Għad irridu ngħixu biex naraw dawn l-4 metriċi. Jekk il-kompitu medju tiegħek jieħu xahar biex jitlesta, allura l-ewwel niffoka fuq din il-metrika. Nixtieq inaqqasha għal 3 ijiem l-ewwel. U wara bdejt naħseb dwar Kontinwu.
Fhimtek sew li taħseb li b'mod ġenerali m'hemm l-ebda skop li tinvesti fi prattiċi ta' inġinerija jekk xi kompitu jieħu xahar biex jitlesta?
Għandek Integrazzjoni Kontinwa. U hemm tali suġġett li f'10 minuti tista 'jew tiffissa jew tirroddha lura. Immaġina li ħarġet. Barra minn hekk, inti anki għandek skjerament kontinwu, inti rolled out biex prod u biss imbagħad ndunat li xi ħaġa marret ħażin. U trid tirrumblaha lura, imma diġà emigrajt id-database tiegħek. Diġà għandek l-iskema tad-database tal-verżjoni li jmiss, barra minn hekk, kellek ukoll xi tip ta 'backup, u d-data kienet miktuba wkoll hemmhekk.
U liema alternattiva għandek? Jekk tirreġġa' lura l-kodiċi, allura ma tistax taħdem aktar ma' din id-database aġġornata.
Il-bażi timxi 'l quddiem biss, iva.
Nies li għandhom prattiki ħżiena ta 'inġinerija x'aktarx ma qrawx il-ktieb oħxon dwar... lanqas. X'għandek tagħmel bil-backup? Jekk tirrestawra minn backup, dan ifisser li titlef id-dejta li akkumulajt matul dak il-mument. Pereżempju, ħdimna għal tliet sigħat mal-verżjoni l-ġdida tad-database, l-utenti rreġistrati hemmhekk. Tirrifjuta l-backup l-antik minħabba li l-iskema ma taħdimx mal-verżjoni l-ġdida, għalhekk tlift lil dawn l-utenti. U huma mhux sodisfatti, huma naħlef.
Sabiex tikkontrolla l-firxa sħiħa ta’ prattiki li jappoġġjaw l-Integrazzjoni Kontinwa u l-Konsenja Kontinwa, mhuwiex biżżejjed li titgħallem biss kif tikteb.... L-ewwelnett, jista 'jkun hemm ħafna minnhom, mhux se jkun prattiku. Barra minn hekk hemm mazz ta 'prattiċi oħra bħal Xjentifiku. Hemm prattika bħal din, GitHub popolarizzaha f'ħin wieħed. Dan huwa meta jkollok kemm kodiċi antik kif ukoll kodiċi ġdid jaħdmu fl-istess ħin. Dan meta tagħmel karatteristika mhux mitmuma, iżda tista’ tirritorna xi valur: jew bħala funzjoni jew bħala API ta’ Rest. Int tesegwixxi kemm il-kodiċi l-ġdid kif ukoll il-kodiċi l-antik, u tqabbel id-differenza bejniethom. U jekk ikun hemm differenza, allura tilloggja dan l-avveniment. B'dan il-mod tkun taf li għandek karatteristika ġdida lesta biex toħroġ fuq dik l-antika jekk ma kellekx diskrepanza bejn it-tnejn għal ċertu żmien.
Hemm mijiet ta’ prattiki bħal dawn. Nissuġġerixxi li tibda bl-iżvilupp transbase. Hija mhix 100% fuq Integrazzjoni Kontinwa, iżda l-prattiki huma l-istess, wieħed ma jistax jgħix tajjeb mingħajr l-ieħor.
Tajt l-iżvilupp tat-transbase bħala eżempju fejn tista’ tara prattiċi jew tissuġġerixxi lin-nies jibdew jużaw it-transbase debelopment?
Agħti ħarsa, għax mhux se jkunu jistgħu jużawha. Sabiex tużahom, trid taqra ħafna. U meta persuna tistaqsi: “X’għandek tagħmel b’karatteristika li tieħu xahar, dan ifisser li ma qratx dwar l-iżvilupp transbase.” Għadni ma nirrakkomandahx. Nagħti parir li tiffoka biss fuq is-suġġett ta 'kif tkisser b'mod korrett arkitettoniku kompiti kbar f'oħrajn iżgħar. Din hija l-essenza tad-dekompożizzjoni.
Id-dekompożizzjoni hija waħda mill-għodod tal-perit. L-ewwel nagħmlu analiżi, imbagħad dekompożizzjoni, imbagħad sinteżi, imbagħad integrazzjoni. U dan huwa kif kollox jaħdem għalina. U għad għandna bżonn nikbru għal Integrazzjoni Kontinwa permezz tad-dekompożizzjoni. Il-mistoqsijiet iqumu fl-ewwel stadju, u diġà qed nitkellmu dwar ir-raba’ stadju, jiġifieri aktar ma nagħmlu ta’ spiss l-integrazzjoni, aħjar. Għadu kmieni wisq biex tagħmel dan ikun sabiħ li tnaqqas il-monolit tiegħek l-ewwel.
Ikollok bżonn tiġbed numru ta 'vleġeġ u kwadri fuq xi dijagramma. Ma tistax tgħid li issa ser nuri d-dijagramma arkitettoniku ta 'applikazzjoni ġdida u nuri kwadru wieħed, li ġewwa fih hemm buttuna ħadra għall-applikazzjoni. Fi kwalunkwe każ, se jkun hemm aktar kwadri u vleġeġ. Kull dijagramma li rajt kellha aktar minn waħda. U d-dekompożizzjoni, anke fil-livell tar-rappreżentazzjoni grafika, diġà qed isseħħ. Għalhekk, il-kwadri jistgħu jsiru indipendenti. Jekk le, allura għandi mistoqsijiet kbar għall-perit.
Hemm mistoqsija miċ-chat: "Jekk reviżjoni hija obbligatorja u tieħu żmien twil, forsi ġurnata jew aktar?"
Għandek problemi bil-prattika. Ir-reviżjoni m'għandhiex iddum ġurnata jew aktar. Din hija l-istess storja għall-mistoqsija preċedenti, biss ftit aktar artab. Jekk reviżjoni tkompli għal ġurnata, allura x'aktarx li din ir-reviżjoni tkun għaddejja b'xi bidla kbira ħafna. Dan ifisser li jeħtieġ li jsir iżgħar. Fl-iżvilupp transbase, li rrakkomanda Oleg, hemm storja msejħa reviżjoni kontinwa. L-idea tagħha hija li nagħmlu talba tal-ġibda żgħira bħal din apposta, għax nistinkaw biex ngħaqqdu kontinwament u ftit kull darba. U għalhekk it-talba tal-ġibda tibdel astrazzjoni waħda jew 10 linji. Grazzi għal din ir-reviżjoni, jeħodna ftit minuti.
Jekk ir-reviżjoni tieħu ġurnata jew aktar, xi ħaġa hija ħażina. L-ewwelnett, jista 'jkollok xi problemi bl-arkitettura. Jew din hija biċċa kbira ta 'kodiċi, 1 linja, per eżempju. Jew l-arkitettura tiegħek hija tant kumplessa li persuna ma tistax tifhimha. Din hija problema kemmxejn fuq il-ġenb, iżda se jkollha wkoll tiġi solvuta. Forsi m'hemm l-ebda ħtieġa għal reviżjoni. Irridu naħsbu dwar dan ukoll. Ir-reviżjoni hija l-ħaġa li tnikkik. Għandu l-vantaġġi tiegħu b'mod ġenerali, iżda trid tifhem għaliex qed tagħmel dan. Dan huwa mod biex inti twassal l-informazzjoni malajr, dan huwa mod għalik li tistabbilixxi xi standards internament jew xiex? Għaliex għandek bżonn dan? Minħabba li r-reviżjoni trid issir jew malajr ħafna jew titħassar għal kollox. Huwa bħal transbase deveploment - l-istorja hija sabiħa ħafna, iżda biss għal guys maturi.
Rigward l-4 metriċi, xorta nirrakkomanda li tneħħihom biex nifhem għalxiex iwassal dan. Ħares lejn in-numri, ħares lejn l-istampa, kemm hu ħażin kollox.
(Dmitry) Jien lest li nidħol f'diskussjoni dwar dan miegħek. In-numri u l-metriċi huma kollha kbar, il-prattiċi huma kbar. Imma trid tifhem jekk in-negozju għandux bżonnha. Hemm negozji li m'għandhomx bżonn dik it-tip ta 'veloċità ta' bidla. Naf kumpaniji fejn il-bidliet ma jistgħux isiru kull 15-il minuta. U mhux għax huma daqshekk ħżiena. Dan huwa tali ċiklu tal-ħajja. U biex tagħmel il-fergħat karatteristika, il-karatteristika toggle, għandek bżonn għarfien profond.
Ikkumplikata. Jekk trid taqra l-istorja dwar il-karatteristika toggle f'aktar dettall, nirrakkomandaha ħafna . U hemm artiklu mill-isbaħ minn Martin Fowler dwar il-karatteristiċi tal-toggle: liema tipi hemm, ċikli tal-ħajja, eċċ. Il-karatteristika tal-toggle hija kkumplikata.
U għadek ma weġibtx il-mistoqsija: "Jenkins hu meħtieġ jew le?"
Jenkins mhuwiex meħtieġ fl-ebda każ verament. Serjament għalkemm, l-għodod: Jenkins, Gitlab se jġibulek konvenjenza. Se tara li l-assemblaġġ huwa mmuntat jew mhux immuntat. Jistgħu jgħinuk, iżda mhux se jagħtuk prattika. Jistgħu jagħtuk ċirku biss - Ok, mhux Ok. U mbagħad, jekk tikteb ukoll testijiet, għax jekk ma jkunx hemm testijiet, allura huwa kważi inutli. Għalhekk, hija meħtieġa minħabba li hija aktar konvenjenti, iżda b'mod ġenerali tista 'tgħix mingħajrha, mhux se titlef ħafna.
Jiġifieri, jekk għandek prattiċi, dan ifisser li m'għandekx bżonnha?
Hekk hu. Nirrakkomanda t-test Jez Humble. Hemmhekk għandi attitudni ambivalenti lejn l-aħħar punt. Imma b'mod ġenerali, jekk għandek tliet affarijiet, tgħaqqad kontinwament, tmexxi testijiet fuq impenji fil-kaptan, malajr tirranġa l-bini fil-kaptan, allura forsi m'għandekx bżonn xi ħaġa oħra.
Waqt li qed nistennew mistoqsijiet mill-parteċipanti, għandi mistoqsija. Konna biss nitkellmu dwar il-kodiċi tal-prodott. Użajha għall-kodiċi tal-infrastruttura? Huwa l-istess kodiċi, għandu l-istess prinċipji u l-istess ċiklu tal-ħajja, jew hemm ċikli tal-ħajja u prinċipji differenti? Normalment, meta kulħadd jitkellem dwar Integrazzjoni u Żvilupp Kontinwi, kulħadd jinsa li hemm ukoll kodiċi tal-infrastruttura. U dan l-aħħar kien hemm aktar u aktar minnha. U dawn ir-regoli kollha għandhom jinġiebu hemmhekk?
Lanqas li għandu jkun, ikun kbir għax jagħmel il-ħajja aktar faċli bl-istess mod. Hekk kif naħdmu bil-kodiċi, mhux bi skripts bash, iżda għandna kodiċi normali.
Stop, stop, script bash huwa wkoll kodiċi. Tmissx l-imħabba antika tiegħi.
Tajjeb, mhux se nitfarrak il-memorji tiegħek. Għandi dislike personali għal bash. Tkisser ikrah u tal-biża’ l-ħin kollu. U ħafna drabi tkisser b'mod imprevedibbli, u huwa għalhekk li ma nħobbx. Imma okay, ejja ngħidu li għandek kodiċi bash. Forsi verament ma nifhimx u hemm oqfsa ta 'ttestjar normali hemmhekk. Jien biss mhux fl-għarfien. U nieħdu l-istess benefiċċji.
Hekk kif naħdmu bl-infrastruttura bħala kodiċi, ikollna l-istess problemi bħall-iżviluppaturi. Ftit xhur ilu, iltqajt ma' sitwazzjoni fejn kollega bagħatli pull request għal 1 linja f'bash. U inti hang out fir-reviżjoni għal 000 sigħat. L-istess problemi jinqalgħu. Għadu kodiċi. U għadha kollaborazzjoni. Aħna nibqgħu mwaħħla bit-talba tal-ġibda u nibqgħu mwaħħlin mal-fatt li qed insolvu l-istess kunflitti ta 'merge fl-istess bash, pereżempju.
Issa qed inħares b'mod attiv ħafna lejn din il-ħaġa kollha fuq l-isbah programmazzjoni infra. Issa daħħalt lil Pulumi fl-infrastruttura. Dan huwa l-ipprogrammar fl-aktar forma pura tiegħu. Hemm huwa saħansitra isbaħ, għax għandi l-kapaċitajiet kollha ta 'lingwa ta' programmar, jiġifieri għamilt toggle sabiħ mill-blu bl-istess ifs u kollox tajjeb. Jiġifieri, il-bidla tiegħi diġà tinsab fil-kaptan. Kulħadd diġà jista’ jarah. Inġiniera oħra jafu biha. Diġà influwenzat xi ħaġa hemmhekk. Madankollu, ma kienx attivat għall-infrastrutturi kollha. Inxtegħel għall-bankijiet tat-test tiegħi, pereżempju. Għalhekk, biex terġa' twieġeb il-mistoqsija tiegħek, huwa meħtieġ. Jagħmel il-ħajja aktar faċli għalina, bħala inġiniera li jaħdmu bil-kodiċi, bl-istess mod.
Jekk xi ħadd ieħor għandu mistoqsijiet?
Għandi mistoqsija. Irrid inkompli d-diskussjoni ma 'Oleg. B'mod ġenerali, naħseb li għandek raġun, li jekk biċċa xogħol tieħu xahar biex titlesta, allura għandek problema bl-arkitettura, għandek problema bl-analiżi, id-dekompożizzjoni, l-ippjanar, eċċ Imma għandi tħossok li jekk tibda tipprova tgħix skond l-Integrazzjoni Kontinwa, allura tibda tikkoreġi l-uġigħ bl-ippjanar, għax ma titbiegħed minnha imkien ieħor.
(Oleg) Iva, hekk hu. Din il-prattika hija komparabbli fi sforz għal kwalunkwe prattika serja oħra li tbiddel il-kultura. L-iktar ħaġa diffiċli biex tegħleb huma d-drawwiet, speċjalment id-drawwiet ħżiena. U jekk sabiex tiġi implimentata din il-prattika, bidla serja fid-drawwiet ta 'dawk ta' madwarek hija meħtieġa: żviluppaturi, ġestjoni, maniġer tal-produzzjoni, allura sorpriżi jistennewk.
X'sorpriżi jista' jkun hemm? Ejja ngħidu li inti tiddeċiedi li se tintegra aktar spiss. U għandek xi affarijiet oħra marbuta mal-integrazzjoni, pereżempju, artifacts. U fil-kumpanija tiegħek, pereżempju, hemm politika li kull artifact għandu jiġi kkunsidrat b'xi mod f'xi tip ta 'sistema ta' ħażna ta 'artifact. U jieħu ftit taż-żmien. Persuna teħtieġ li tiċċekkja l-kaxxa li, bħala maniġer tar-rilaxx, ittestja dan l-artifact biex jiżgura li jkun lest għar-rilaxx fil-produzzjoni. Jekk tieħu 5-10-15-il minuta, imma tagħmel it-tqassim darba fil-ġimgħa, allura tqatta 'nofs siegħa darba fil-ġimgħa hija taxxa żgħira.
Jekk tagħmel Integrazzjoni Kontinwa 10 darbiet kuljum, allura 10 darbiet jeħtieġ li jiġu mmultiplikati bi 30 minuta. U dan jaqbeż l-ammont ta 'ħin tax-xogħol ta' dan il-maniġer tar-rilaxx. Huwa biss għajjien li jagħmel dan. Hemm spejjeż fissi għal xi prattiċi. Dak kollox.
U trid jew tikkanċella din ir-regola sabiex ma tibqax tagħmel tali żibel, jiġifieri ma tassenjax grad manwalment biex tikkorrispondi għal xi ħaġa. Qed tiddependi għal kollox fuq xi sett awtomatizzat ta' testijiet ta' prontezza.
U jekk għandek bżonn prova minn xi ħadd, sabiex il-boxxla jiffirmaha, u ma tidħolx fil-produzzjoni mingħajr ma Vasya jgħid li jippermettiha, eċċ. - dan in-nonsense kollu jfixkel lill-prattikant. Għax jekk ikun hemm xi attivitajiet assoċjati ma’ taxxa, allura kollox jiżdied 100 darba. Għalhekk, il-bidla ħafna drabi ma tiġix milqugħa bil-ferħ minn kulħadd. Għax id-drawwiet tan-nies diffiċli jinbidlu.
Meta persuna tagħmel ix-xogħol tas-soltu tagħha, tagħmel dan kważi mingħajr ma taħseb. It-tagħbija konjittiva tagħha hija żero. Huwa biss jilgħab biha, diġà għandu lista ta 'kontroll f'rasu, għamilha elf darba. U malli tiġi u tgħidlu: "Ejja nħassru din il-prattika u nintroduċu waħda ġdida mit-Tnejn," għalih issir tagħbija konjittiva qawwija. U jasal għal kulħadd f'daqqa.
Għalhekk, l-aktar ħaġa sempliċi, għalkemm mhux kulħadd jista 'jlaħħaq dan il-lussu, iżda dan huwa dak li dejjem nagħmel, dan huwa dan li ġej. Jekk jibda proġett ġdid, allura ġeneralment il-prattiki kollha mhux ittestjati jiġu immedjatament imwaħħla f'dan il-proġett. Filwaqt li l-proġett huwa żagħżugħ, aħna ma tantx nirriskjaw xejn. Għad m'hemm l-ebda Prod, m'hemm xejn x'jeqred. Għalhekk, jista 'jintuża bħala taħriġ. Dan l-approċċ jaħdem. Iżda mhux il-kumpaniji kollha għandhom l-opportunità li jibdew proġetti bħal dawn spiss. Għalkemm din hija wkoll xi ftit stramba, għax issa hemm trasformazzjoni diġitali sħiħa, kulħadd għandu jniedi esperimenti sabiex ilaħħaq mal-kompetituri.
Hawnhekk tasal għall-konklużjoni li l-ewwel irid ikollok fehim ta 'dak li għandek bżonn tagħmel. Id-dinja mhix ideali, u l-prod mhux ideali lanqas.
Iva, dawn l-affarijiet huma interkonnessi.
In-negozji wkoll mhux dejjem jifhmu li jeħtieġ li jmorru b'dan il-mod.
Hemm sitwazzjoni li fiha l-ebda tibdil mhu possibbli. Din hija sitwazzjoni fejn hemm aktar pressjoni fuq it-tim. It-tim diġà huwa pjuttost maħruq. Hija m'għandha l-ebda ħin liberu għal xi esperimenti. Huma jaħdmu fuq karatteristiċi minn filgħodu sa filgħaxija. U l-ġestjoni għandha inqas u inqas karatteristiċi. Aktar u aktar huma meħtieġa. F'sitwazzjoni bħal din, l-ebda tibdil mhu possibbli. It-tim jista’ jingħad biss li għada nagħmlu l-istess tal-bieraħ, irridu biss nagħmlu ftit aktar features. F'dan is-sens, l-ebda transizzjoni għal xi prattika ma hija possibbli. Din hija sitwazzjoni klassika meta ma jkunx hemm ħin biex tiffoka l-mannara, is-siġar jeħtieġ li jinqatgħu, u għalhekk jaqtgħuha b'mannara matt. M'hemm l-ebda pariri sempliċi hawn.
(Dmitry) Se naqra kjarifika miċ-chat: "Imma għandna bżonn ħafna kopertura tat-test f'livelli differenti. Kemm hu allokat ħin għat-testijiet? Huwa ftit għali u jieħu ħafna ħin.”
(Oleg) Dan huwa kunċett żbaljat klassiku. Għandu jkun hemm biżżejjed testijiet biex tkun kunfidenti. L-Integrazzjoni Kontinwa mhix xi ħaġa fejn 100% tat-testijiet isiru l-ewwel u mbagħad biss tibda tapplika din il-prattika. L-Integrazzjoni Kontinwa tnaqqas it-tagħbija konjittiva tiegħek minħabba l-fatt li kull waħda mill-bidliet li tara b'għajnejk hija tant ovvja li tifhem jekk hux se tkisser xi ħaġa jew le, anke mingħajr testijiet. Tista 'malajr tittestja dan f'rasek minħabba li l-bidliet huma żgħar. Anke jekk għandek biss testers manwali, huwa aktar faċli għalihom ukoll. Int ħarġet u għidt: "Ara, hemm xi ħaġa miksura?" Iċċekkjaw u qalu, "Le, xejn mhu miksur." Għax min jittestja jaf fejn ifittex. Għandek impenn wieħed assoċjat ma 'biċċa waħda ta' kodiċi. U dan huwa sfruttat minn imġieba speċifika.
Hawnhekk inti, ovvjament, msebbħa.
(Dmitry) Ma naqbilx hawn. Hemm prattika - żvilupp immexxi mit-test, li jiffranka minn dan.
(Oleg) Ukoll, għadni ma wasaltx għal dak il-punt. L-ewwel illużjoni hija li għandek bżonn tikteb 100% tat-testijiet jew m'għandek bżonn tagħmel Integrazzjoni Kontinwa xejn. Mhux veru. Dawn huma żewġ prattiki paralleli. U mhumiex dipendenti direttament. Il-kopertura tat-test tiegħek għandha tkun ottima. Ottimal - dan ifisser li inti stess kunfidenti li l-kwalità tal-kaptan li fih il-kaptan tiegħek baqa 'wara l-impenn jippermettilek li tagħfas b'kunfidenza l-buttuna "Skjerament" fil-Ġimgħa filgħaxija fis-sakra. Kif tikseb dan? Permezz ta’ reviżjoni, permezz ta’ kopertura, permezz ta’ monitoraġġ tajjeb.
Monitoraġġ tajjeb huwa indistingwibbli mit-testijiet. Jekk tmexxi testijiet darba fuq pre prod, allura jiċċekkjaw l-iskripts kollha tal-utent tiegħek darba u dak hu. U jekk tmexxihom f'linja bla tarf, allura din hija s-sistema ta 'monitoraġġ skjerata tiegħek, li tittestja kollox bla tmiem - kemm jekk ġġarraf jew le. F'dan il-każ, l-unika differenza hija jekk isirx darba jew darbtejn. Sett tajjeb ħafna ta' testijiet... għaddej bla tmiem, dan huwa monitoraġġ. U monitoraġġ xieraq għandu jkun bħal dan.
U għalhekk, kif eżattament int se tikseb dan l-istat meta tkun lesta l-Ġimgħa filgħaxija u tmur id-dar hija mistoqsija oħra. Forsi int biss żagħżugħ kuraġġuż.
Ejja mmorru lura ftit għall-Integrazzjoni Kontinwa. Ħarrabna fi prattika kumplessa kemmxejn differenti.
U t-tieni illużjoni hija li l-MVP, jgħidu, jeħtieġ li jsir malajr, u għalhekk it-testijiet mhuma meħtieġa hemm xejn. Mhux żgur b'dak il-mod. Il-fatt hu li meta tikteb user story f'MVP, tista 'jew tiżviluppaha fuq il-ballun, jiġifieri, smajt li kien hemm xi tip ta' user story u immedjatament dam biex tikkodifikaha, jew tista 'taħdem bl-użu ta' TDD. U skont TDD, kif turi l-prattika, ma jieħux aktar żmien, jiġifieri t-testijiet huma effett sekondarju. Il-prattika tat-TDD mhix dwar l-ittestjar. Minkejja dak li jissejjaħ Test Driven Development, mhu dwar testijiet xejn. Dan huwa wkoll pjuttost approċċ arkitettoniku. Dan huwa approċċ biex tikteb eżattament dak li hu meħtieġ u mhux tikteb dak li mhux meħtieġ. Din hija prattika li tiffoka fuq l-iterazzjoni li jmiss tal-ħsieb tiegħek f'termini tal-ħolqien ta 'arkitettura ta' applikazzjoni.
Għalhekk, mhux daqshekk faċli li teħles minn dawn l-illużjonijiet. MVP u testijiet ma jikkontradixxux lil xulxin. Anke, anzi, għall-kuntrarju, jekk tagħmel MVP billi tuża l-prattika TDD, allura tagħmel dan aħjar u aktar malajr milli kieku tagħmel dan mingħajr prattika xejn, iżda fuq ballun.
Din hija idea mhux ovvja u kumplessa ħafna. Meta tisma’ li issa nikteb aktar testijiet u fl-istess ħin nagħmel xi ħaġa aktar mgħaġġla, tinstema’ assolutament inadegwata.
(Dmitry) Ħafna nies hawn, meta jsejħu MVP, in-nies huma għażżien wisq biex jiktbu xi ħaġa normali. U dawn għadhom affarijiet differenti. M'hemmx bżonn li l-MVP jinbidel f'xi ħaġa ħażina li ma taħdimx.
Iva, iva, għandek raġun.
U mbagħad f'daqqa waħda MVP fil-prod.
Għal dejjem.
U TDD tinstema 'ħafna mhux tas-soltu meta tisma' li tikteb testijiet u tidher li tagħmel aktar xogħol. Tinstema stramba ħafna, iżda fil-fatt jirriżulta aktar mgħaġġel u sabiħ b'dan il-mod. Meta tikteb test, diġà taħseb ħafna f'rasek dwar liema kodiċi se jissejjaħ u kif, kif ukoll x'imġieba nistennew minnu. Tgħidx biss li ktibt xi funzjoni u tagħmel xi ħaġa. Għall-ewwel int ħsibt li kellha tali u tali kundizzjonijiet, kienet se tissejjaħ b’tali mod. Inti tkopri dan bit-testijiet u minn dan tifhem kif l-interfaces tiegħek se jidhru ġewwa l-kodiċi tiegħek. Dan għandu impatt kbir fuq l-arkitettura. Il-kodiċi tiegħek awtomatikament isir aktar modulari, għax l-ewwel tipprova tifhem kif se tittestjah, u mbagħad biss tiktebha.
Dak li ġara lili ma 'TDD kien li f'xi ħin mikrija mentor Ruby meta kont għadni programmatur Ruby. U jgħid: "Ejja nagħmluha skont TDD." Ħsibt: “Indannat, issa rrid nikteb xi ħaġa żejda.” U qbilna li fi żmien ġimgħatejn nikteb il-kodiċi tax-xogħol kollu f'Python billi tuża TDD. Wara ġimagħtejn, indunajt li ma ridtx immur lura. Wara ġimgħatejn li tipprova tapplika dan kullimkien, tirrealizza kemm sar aktar faċli għalik li anki sempliċement taħseb. Iżda dan mhux ovvju, għalhekk nirrakkomanda lil kulħadd li jekk ikollok is-sensazzjoni li TDD huwa diffiċli, jieħu ħafna ħin u mhux meħtieġ, ipprova żomm miegħu għal ġimgħatejn biss. Tnejn kienu biżżejjed għalija.
(Dmitry) Nistgħu nespandu din l-idea mil-lat tal-operat tal-infrastruttura. Qabel ma nniedu xi ħaġa ġdida, nagħmlu monitoraġġ u mbagħad inniedu. F'dan il-każ, il-monitoraġġ isir ittestjar normali għalina. U hemm żvilupp permezz tal-monitoraġġ. Imma kważi kulħadd jgħid li huwa twil, jien għażżien, għamilt abbozz temporanju. Jekk għamilna monitoraġġ normali, nifhmu l-istat tas-sistema CI. U s-sistema CI għandha ħafna monitoraġġ. Nifhmu l-istat tas-sistema, nifhmu x'hemm ġewwa fiha. U waqt l-iżvilupp, qed nagħmlu biss is-sistema sabiex tilħaq l-istat mixtieq.
Dawn il-prattiċi ilhom magħrufa għal żmien twil. Iddiskutejna dan madwar 4 snin ilu. Imma f'4 snin prattikament xejn ma nbidel.
Iżda fuq din in-nota, nipproponi li tintemm id-diskussjoni uffiċjali.
Vidjow (imdaħħal bħala element tal-midja, iżda għal xi raġuni ma jaħdimx):
Sors: www.habr.com
