Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Em dixwazin ezmûna xwe ya pêkanîna platforma SonarQube ji bo analîz û pîvandina domdar a kalîteya kodê di pêvajoyên pêşkeftina heyî yên pergala DPO de (zêdekirina pergala depoya Alameda û pergala hesabê paqijkirinê) ya Depoya Nifûsa Neteweyî parve bikin.

Depoya Niştecîhkirina Neteweyî (Koma Pargîdaniyên Kirrûbirra Moskowê) yek ji wan pargîdaniyên sereke ye di binesaziya darayî de, hilanîn û hesabkirina ewlehiyên belavkerên rûsî û biyanî yên bi bihayê zêdetirî 50 trîlyon rûbil. Mezinbûna mezinbûna operasyonên ku ji hêla pergalê ve têne kirin, û her weha berbelavbûna domdar a fonksiyonê, pêdivî ye ku koda çavkaniya kalîteya bilind a pergalan biparêze. Yek amûrek ku bigihîje vê armancê analîzkera statîk SonarQube ye. Di vê gotarê de em ê ezmûna serketî ya bicîhkirina bêkêmasî ya analîzera statîk a SonarQube di pêvajoyên pêşkeftina heyî yên beşa me de vebêjin.

Bi kurtî li ser beşê

Desthilatdariya me modulên jêrîn vedigire: dravdana ji xerîdarên NSD, rêveberiya belgeya elektronîkî (EDF), pêvajokirina peyamên depoya bazirganiyê (qeydkirina danûstendinên serhêl), kanalên danûstendina elektronîkî di navbera xerîdar û NSD de, û hêj bêtir. Bi gelemperî, di warê teknîkî ya çalakiyên operasyonê de gelek kar hene ku bêne kirin. Em li ser bingeha daxwazan dixebitin. Serlêdanên ji efserên operasyonê ji hêla analîstan ve têne pêvajoyê kirin: ew hewcedariyên xerîdar berhev dikin û vîzyona xwe ji me re pêşkêş dikin ka ew çawa divê di bernameyê de cih bigire. Dûv re pilana standard e: pêşkeftina kodê - ceribandin - operasyona ceribandinê - radestkirina kodê ji çerxa hilberînê re ji xerîdarê rasterast.

Çima SonarQube?

Ev yekem ezmûna beşa me ye di pêkanîna platformek ji bo kontrolkirina kalîteya kodê - berê me ew bi destan dikir, tenê vekolînên kodê dikirin. Lê mezinbûna qebareya xebatê otomatiya vê pêvajoyê hewce dike. Wekî din, tîmê di heman demê de xebatkarên bêtecrube jî hene ku bi rêzikên pêşkeftina navxweyî bi tevahî ne nas in û meyla dikin ku bêtir xeletiyan bikin. Ji bo kontrolkirina kalîteya kodê, biryar hate girtin ku analîzek statîk were bicîh kirin. Ji ber ku SonarQube berê di hin pergalên NSD-ê de dihat bikar anîn, hilbijartinek dirêj tune. Berê, hevkarên ji beşên din ew bikar anîn ji bo analîzkirina koda mîkroxizmetên di pergala Alameda de (pergala depokirin û hesabê paqijkirina NSD-yê), di CFT (pergalek agahdarî ya ji bo domandina hesab, bîlanço, amadekirina raporên mecbûrî û navxweyî), di hinan de. sîstemên din. Ji bo ceribandinan, me biryar da ku em bi guhertoya belaş a SonarQube dest pê bikin. Îcar em herin ser doza xwe.

Pêvajoya pêkanîna

Me heye:

  • kombûna pergalê ya otomatîkî li TeamCity;
  • pêvajoya barkirina kodê bi MergeRequest-ê ji şaxê taybetmendiyê berbi şaxê masterê li GitLab-ê hate mîheng kirin (pêvajoya pêşkeftinê li gorî GitHub Flow);
  • SonarQube, ji bo analîzkirina kodê ji bo pergala DPO-ê li ser nexşeyek hatî mîheng kirin.

Armanca me: Di pêvajoyên CI/CD yên DPO de analîza koda otomatîkî bicîh bikin.

Pêdivî ye ku mîheng bike: Pêvajoya kontrolkirina kodê bixweber bi analyzerek statîk re digel her MergeRequest berbi şaxê sereke.

Ewan. Wêneya armanc wiha ye: gava ku pêşdebir guheztinan li şaxê taybetmendiyê bar dike, ji bo xeletiyên nû yên kodê kontrolek otomatîkî tê destpêkirin. Heke xeletî tunebin, wê hingê destûr tê dayîn ku guhertin werin pejirandin, wekî din divê xeletî bêne rast kirin. Jixwe di qonaxa destpêkê de me karîbû hejmarek xeletiyên di kodê de nas bikin. Pergal xwedan mîhengên pir maqûl e: ew dikare bi vî rengî were mîheng kirin ku ew ji bo karên taybetî yên pêşdebiran, ji bo her pergal û şêwaza bernamekirinê bixebite.

Sazkirina QualityGate li SonarQube

Analîzkirina QualityGate tiştek e ku em di kûrahiya Înternetê de dixwînin. Di destpêkê de, me nêzîkatiyek cûda, tevlihevtir û, bi hin awayan, bi tevahî ne rast bikar anî. Pêşî, me du caran bi rêya SonarQube vekolîn kir: me şaxê taybetmendiyê û şaxê ku em ê şaxê taybetmendiyê li hev bikin gerandin, û dûv re jî hejmara xeletiyan dan ber hev. Ev rêbaz ne aram bû û her gav encamek rast dernexist. Û dûv re me fêhm kir ku li şûna ku em SonarQube du caran bimeşînin, em dikarin li ser hejmara xeletiyên hatine çêkirin sînorek deynin (QualityGate) û tenê şaxê ku hûn barkirin û berhev dikin analîz bikin.

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Heya nuha em hîn jî vekolînek kodek pir primitive bikar tînin. Hêjayî gotinê ye ku SonarQube bi hin zimanên bernamesaziyê re, tevî Delphi, ne hevaheng e. Heya nuha, em ji bo pergala xwe tenê koda PLSql analîz dikin.

Ew bi vî rengî dixebite:

  • Em ji bo projeya xwe tenê koda PL / SQL analîz dikin.
  • SonarQube QualityGate hatiye mîheng kirin da ku jimara xeletiyan bi peywirê re zêde nebe.
  • Hejmara xeletiyan di destpêkirina yekem de 229 bû. Ger di dema komîteyê de bêtir xeletî hebin, wê gavê destûr nayê dayîn ku yekgirtin.
  • Zêdetir, heke xeletî werin rast kirin, dê gengaz be ku QualityGate ji nû ve were mîheng kirin.
  • Her weha hûn dikarin ji bo analîzê xalên nû lê zêde bikin, mînakî, vegirtina kodê bi ceribandinan, hwd.

Plana xebatê:

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Şîroveyên senaryoyê destnîşan dikin ku di şaxê taybetmendiyê de hejmara xeletiyan zêde nebûye. Ji ber vê yekê her tişt baş e.

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Bişkoka Merge peyda dibe.

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Di şîroveyên skrîptê de, hûn dikarin bibînin ku hejmara xeletiyên di şaxê taybetmendiyê de ji meqbûl zêdetir bûye. Ji ber vê yekê her tişt XERAB e.

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Bişkoka Merge sor e. Heya nuha, li ser barkirina guheztinên li ser bingeha koda xelet ti qedexe tune, lê ev li gorî biryara pêşdebirê berpirsiyar tê kirin. Di paşerojê de, hûn dikarin rê li ber zêdekirina kirdarên weha li şaxê sereke bigirin.

Me SonarQube çawa bicîh anî û potansiyela wê ya mezin fam kir

Xebata serbixwe li ser xeletiyan

Dûv re, hûn hewce ne ku hemî xeletiyên ku ji hêla pergalê ve hatine tespît kirin kontrol bikin, ji ber ku SonarQube li gorî standardên xwe yên hişk analîz dike. Tiştê ku ew xeletiyek dihesibîne dibe ku bi rastî di koda me de ne yek be. Ji ber vê yekê, hûn hewce ne ku kontrol bikin û bala xwe bidin ka ev bi rastî xeletiyek e, an jî di şert û mercên me de ne hewce ye ku were guherandin. Bi vî awayî em hejmara xeletiyan kêm dikin. Bi demê re, pergal dê fêr bibe ku van nuwazeyan fam bike.

Em hatine çi

Armanca me ev bû ku em fam bikin ka gelo dê di doza me de şîret be ku veguheztina kodê veguhezînin otomasyonê. Û encam hêviyên xwe bi cih anî. SonarQube rê dide me ku em bi zimanên ku em hewce ne re bixebitin, analîzek pir jêhatî dike, û potansiyela fêrbûna ji serişteyên pêşdebiran heye. Bi tevayî, em ji ezmûna xweya yekem a ku SonarQube bikar tînin kêfxweş in û plan dikin ku di vî warî de pêşdetir pêşve bibin. Em hêvî dikin ku di pêşerojê de em ê karibin bêtir dem û hewldan li ser vekolîna kodê biparêzin û bi rakirina faktora mirovî baştir bikin. Dibe ku di vê pêvajoyê de em ê kêmasiyên platformê kifş bikin an jî berovajî vê yekê, em ê careke din piştrast bibin ku ev tiştek xweş û bi potansiyelek mezin e.

Di vê gotara vekolînê de me li ser nasîna xwe bi analyzera statîk SonarQube re axivî. Ger pirsên we hebin, ji kerema xwe di şîroveyan de binivîsin. Heke hûn bi vê mijarê re eleqedar dibin, di weşanek nû de em ê bi hûrgulî diyar bikin ka meriv çawa her tiştî rast saz dike û kodê dinivîse da ku kontrolek wusa bike.

Nivîskarê nivîsê: atanya

Source: www.habr.com

Add a comment