Usabvuma kugadzira chimwe chinhu chausinganzwisise

Usabvuma kugadzira chimwe chinhu chausinganzwisise

Kubva kutanga kwa2018, ndanga ndakabata chinzvimbo chekutungamira / sahwira / mutungamiriri wekuvandudza pachikwata - idaidze zvaunoda, asi nyaya iripo ndeyekuti ini ndine mutoro wakazara kune imwe yemamodule uye kune vese vanogadzira vanoshanda. pairi. Ichi chinzvimbo chinondipa maonero matsva pamaitiro ebudiriro, sezvo ini ndichibatikana mune mamwe mapurojekiti uye zvakanyanya kubatanidzwa mukuita sarudzo. Munguva ichangopfuura, nekuda kwezvinhu zviviri izvi, ndakangoerekana ndaona kuti chiyero chekunzwisisa chinokanganisa sei kodhi uye kushandiswa.

Pfungwa yandinoda kuita ndeyokuti hutano hwekodhi (uye chigadzirwa chekupedzisira) chakanyatsobatana nekuziva kuti vanhu vari kugadzira nekunyora kodhi ndeyezvavari kuita.

Unogona kunge uri kufunga izvozvi, “Thanks, Cap. Zvechokwadi, zvingava zvakanaka kuti unzwisise zvauri kunyora muhuwandu. Zvikasadaro, unogona kuhaya boka retsoko kuti ubaye makiyi asina kurongeka wosiya zvakadaro. " Uye uri pachokwadi. Saizvozvo, ndinozvitora sezvinei kuti iwe unoziva kuti kuve neruzivo rwezvauri kuita kwakakosha. Izvi zvinogona kunzi zero level yekunzwisisa, uye isu hatizoiongorora zvakadzama. Isu tichatarisa zvakadzama pane izvo chaizvo zvaunoda kuti unzwisise uye kuti zvinokanganisa sei sarudzo dzaunoita mazuva ese. Dai ndakaziva zvinhu izvi pachine nguva, zvingadai zvakandichengetera nguva yakawanda yakapambadzwa uye kodhi ine mubvunzo.

Kunyangwe iwe usingaone mutsara mumwechete wekodhi pazasi, ini ndichiri kutenda kuti zvese zvataurwa pano zvakakosha zvikuru pakunyora kodhi yemhando yepamusoro, inoratidzira.

Chekutanga nhanho yekunzwisisa: Sei isingashande?

Vagadziri vanowanzosvika padanho iri pakutanga kwemabasa avo, dzimwe nguva kunyangwe pasina rubatsiro kubva kune vamwe - zvirinani mune yangu ruzivo. Fungidzira kuti wakagamuchira chirevo chebug: rimwe basa mukushandisa harishande, rinoda kugadziriswa. Uchaenderera mberi sei?

Iyo standard scheme inoita seizvi:

  1. Tsvaga chidimbu chekodhi chiri kukonzera dambudziko (maitirwo eizvi inyaya yakaparadzana, ndinoivhara mubhuku rangu nezve legacy code)
  2. Shandura pane iyi snippet
  3. Ita shuwa kuti bug yakagadziriswa uye hapana zvikanganiso zvekudzoreredza zvakaitika

Zvino ngatitarisei pane yechipiri poindi - kuita shanduko kune kodhi. Kune nzira mbiri dzekuita uku. Chekutanga ndechekuongorora kuti chii chaizvo chiri kuitika mune yazvino kodhi, tsvaga kukanganisa uye kugadzirisa. Chechipiri: fambisa nekunzwa - wedzera, taura, +1 kune inomisikidzwa chirevo kana loop, ona kana basa richishanda mune yaunoda mamiriro, wobva waedza chimwe chinhu, zvichingodaro ad infinitum.

Nzira yekutanga ndeyechokwadi. Sezvo Steve McConnell anotsanangura mubhuku rake Code Complete (iyo yandinokurudzira zvikuru, nenzira), nguva dzose patinoshandura chimwe chinhu mukodhi, tinofanira kukwanisa kufanotaura nechivimbo kuti zvichakanganisa sei kushandiswa. Ndiri kutora kubva mundangariro, asi kana bugfix ikasashanda sezvawaitarisira, iwe unofanirwa kuvhunduka uye unofanirwa kubvunza hurongwa hwako hwese hwekuita.

Kupfupisa izvo zvataurwa, kuitira kuti uite yakanaka bug kugadzirisa iyo isingaderedze kunaka kwekodhi, unofanirwa kunzwisisa zvese chimiro chekodhi uye kunobva dambudziko chairo.

Chechipiri nhanho yekunzwisisa: Sei inoshanda?

Iyi nhanho inonzwisiswa zvishoma intuitively kupfuura yapfuura. Ini, ndichiri kuvandudza, ndakazvidzidza kukutenda kune mukuru wangu, uye ndokuzotsanangurazve hunhu hwenyaya kune vatsva.

Panguva ino, ngatimbofungidzira kuti wakagamuchira zvinyorwa zviviri zvebug kamwechete: yekutanga inotaura nezvechiitiko A, chechipiri chiri pamusoro pechiitiko B. Muzviitiko zvose, chimwe chinhu chakaipa chinoitika. Saizvozvo, iwe unogadzirisa yekutanga bug. Uchishandisa misimboti yatakagadzira yekunzwisisa kweNhamba XNUMX, unochera zvakadzika mukodhi inoenderana nedambudziko, woona kuti sei zvichiita kuti application iite semabatiro ainoita muScenario A, uye gadzirisa zvine musoro zvinoburitsa mhedzisiro yaunoda. . Zvese zviri kufamba zvakanaka.

Ipapo iwe unoenda kune chiitiko B. Unodzokorora mamiriro acho mukuedza kutsamwisa kukanganisa, asi-kushamisika! - zvino zvinhu zvose zvinoshanda sezvazvinofanira. Kuti usimbise fungidziro yako, unogadzirisa shanduko dzawakaita uchishanda pabug A, uye bug B inodzoka. Yako bugfix yakagadzirisa matambudziko ese. Lucky!

Waisavimba nazvo zvachose. Iwe wauya nenzira yekugadzirisa kukanganisa mumamiriro ezvinhu A uye hauzivi kuti sei yakashanda kune mamiriro ezvinhu B. Panguva ino, zvinoedza zvikuru kufunga kuti mabasa ose akapedzwa zvinobudirira. Izvi zvine musoro: pfungwa yaive yekubvisa zvikanganiso, handizvo here? Asi basa harisati rapera: iwe uchiri kufunga kuti sei zviito zvako zvakagadzirisa kukanganisa mumamiriro ezvinhu B. Sei? Nokuti kungava kushanda panheyo dzisina kururama, uye ipapo uchafanira kutsvaka imwe nzira yokubuda nayo. Heino mienzaniso miviri yezviitiko zvakadaro:

  • Sezvo mhinduro yacho isina kurongedzerwa kukanganisa B, uchifunga nezvese zvinhu, unogona kunge wakatyoka basa C nekusaziva.
  • Zvinogoneka kuti kune zvakare tsikidzi yechitatu yakahwanda kumwe kunhu, ine chekuita nebasa rimwechete, uye bugfix yako inotsamira pairi pakushanda chaiko kweiyo system mumamiriro ezvinhu B. Zvese zvinotaridzika zvakanaka zvino, asi rimwe zuva iyi bug yechitatu ichaonekwa nekugadziriswa. Zvino mune mamiriro B kukanganisa kuchaitika zvakare, uye zvakanaka kana chete ipapo.

Zvese izvi zvinowedzera bongozozo kune kodhi uye rimwe zuva zvichawira pamusoro wako - zvakanyanya panguva isina kukodzera. Iwe uchafanirwa kuunganidza simba rako rekuzvimanikidza kushandisa nguva uchinzwisisa kuti sei zvese zvichiita sekushanda, asi zvakakosha.

Yechitatu nhanho yekunzwisisa: Sei inoshanda?

Maonero angu achangoburwa anechekuita nedanho iri, uye pamwe ndiyo ingadai yakandipa bhenefiti yakanyanya dai ndakauya kune iyi pfungwa kare.

Kuti zvijeke, ngatitarisei muenzaniso: module yako inoda kuitwa kuti ienderane nebasa X. Iwe hausi kunyanya kujairana nebasa X, asi wakaudzwa kuti kuti uenderane nayo unofanirwa kushandisa F framework. ma module anobatana naX anoshanda naye chaizvo.

Kodhi yako haisati yasangana neF framework zvachose kubva pazuva rekutanga rehupenyu hwayo, saka kuishandisa hakuzove nyore. Izvi zvichava nemhedzisiro yakakomba kune zvimwe zvikamu zvemodule. Nekudaro, iwe unozvikanda mukusimudzira: iwe unopedza mavhiki uchinyora kodhi, kuyedza, kuburitsa vhezheni shanduro, kuwana mhinduro, kugadzirisa zvikanganiso zvekudzora, kuwana matambudziko asingatarisirwe, kusasangana neyakabvumiranwa yepakutanga, kunyora imwe kodhi, kuyedza, kuwana mhinduro yekukurukurirana, kugadzirisa zvikanganiso zvekudzoreredza - zvese izvi kuitira kuita iyo F chimiro.

Uye pane imwe nguva unongoerekana waona - kana pamwe kunzwa kubva kune mumwe munhu - kuti pamwe chimiro F hachizokupa kuenderana nechimiro X zvachose.

Chimwe chinhu chakafanana chakaitika pane imwe nguva ndichishanda pane imwe purojekiti yandakanga ndaita basa racho. Sei izvi zvakaitika? Nokuti ndakanga ndisinganzwisisi kuti X yaiva basa ripi uye kuti raibatana sei negadziriro F. Ndaifanira kunge ndaitei? Bvunza munhu arikupa basa rekusimudzira kuti atsanangure zvakajeka kuti nzira yakanangwa yekuita inotungamira sei kune chaunoda, pane kungodzokorora zvakaitirwa mamwe ma module kana kutora izwi ravo kuti izvi ndizvo zvinofanirwa kuitwa X.

Chiitiko chechirongwa ichi chakandidzidzisa kuramba kutanga chirongwa chebudiriro kusvika tanyatsonzwisisa kuti sei tiri kukumbirwa kuita zvimwe zvinhu. Ramba zvachose. Paunogamuchira basa, fungidziro yekutanga ndeyokukurumidza kutora pairi kuitira kuti usatambise nguva. Asi iyo "kumisa purojekiti kusvika tapinda mune zvese zvese" mutemo unogona kuderedza kutambisa nguva nemirairo yehukuru.

Kunyangwe vakaedza kukumanikidza, kukumanikidza kuti utange basa, kunyangwe iwe usinganzwisise chikonzero cheizvi, ramba. Kutanga, funga kuti sei uri kupiwa basa rakadaro, uye sarudza kana iyi iri nzira yakarurama yechinangwa. Ini ndaifanira kudzidza zvese izvi nenzira yakaoma - ndinovimba muenzaniso wangu uchaita kuti hupenyu huve nyore kune avo vanoverenga izvi.

Chikamu chechina chekunzwisisa: ???

Panogara paine zvakawanda zvekudzidza mukuronga, uye ndinotenda kuti ndangokwenya pamusoro pemusoro wenyaya yekunzwisisa. Ndeapi mamwe mazinga ekunzwisisa awakawana mumakore ekushanda nekodhi? Ndedzipi sarudzo dzawakaita dzakave nemhedzisiro yakanaka pamhando yekodhi uye kushandisa? Zvisarudzo zvipi zvakazova zvisina kururama uye zvakakudzidzisa chidzidzo chinokosha? Govera ruzivo rwako mumashoko.

Source: www.habr.com

Voeg