Vrstice za spremembe kode

Vprašanje: Kakšna je vsota števila dotaknjenih vrstic (dodanih in odstranjenih vrstic) v vseh spremembah izvorne kode v določenem obdobju?

Opis

Pri uvajanju sprememb izvorne kode se razvijalci dotaknejo (urejajo, dodajo, odstranijo) vrstic datotek izvorne kode. Ta metrika upošteva skupno število vrstic, ki so se jih dotaknile spremembe izvorne kode, izvedene v določenem obdobju. To pomeni, da če se določene vrstice v določeni datoteki dotaknete v treh različnih spremembah, se to šteje kot tri vrstice. Ker je v večini sistemov za upravljanje izvorne kode težko ali nemogoče natančno povedati, ali je bila vrstica odstranjena in nato dodana ali samo urejena, bomo obravnavali urejanje vrstice kot njeno odstranitev in kasneje ponovno dodajanje z novo vsebino. Vsako od teh (odstranjevanje in dodajanje) bo obravnavano kot "dotikanje". Torej, če je določena vrstica v določeni datoteki urejena trikrat, bo to štelo kot šest različnih sprememb (tri odstranitve in tri dodajanja).

V zvezi s tem upoštevamo spremembe izvorne kode, kot je opredeljeno v Zaveza sprememb kode. Vrstice kode bodo vse vrstice datoteke izvorne kode, vključno s komentarji in praznimi vrsticami.

Cilji

  • Obseg dejavnosti kodiranja:
    Čeprav so spremembe kode lahko približek dejavnosti kodiranja projekta, niso vse spremembe enake. Upoštevanje skupnega števila vrstic, ki so se jih dotaknile vse spremembe, daje komplementarno predstavo o tem, kako velike so spremembe in na splošno, kako velik je obseg dejavnosti kodiranja.

Izvajanje

Uporaba in razširjanje zdravstvenih meritev lahko povzroči kršitve zasebnosti. Organizacije so lahko izpostavljene tveganjem. Ta tveganja lahko izhajajo iz skladnosti z GDPR v EU, z državno zakonodajo v ZDA ali z drugo zakonodajo. Obstajajo lahko tudi pogodbena tveganja, ki izhajajo iz pogojev storitve za ponudnike podatkov, kot sta GitHub in GitLab. Pri uporabi metrik je treba preveriti tveganje in morebitne težave glede etike podatkov. Prosim poglej Dokument o etiki podatkov CHAOSS za dodatna navodila.

Agregatorji:

  • štetje Skupno število sprememb vrstic (dotaknjenih) v obdobju.

parametri:

  • Časovno obdobje: Začetni in končni datum obdobja. Privzeto: za vedno.
    Obdobje, v katerem se upoštevajo spremembe.
  • Merila za izvorno kodo; Privzeti algoritem: vse datoteke so izvorna koda.
    Če smo osredotočeni na izvorno kodo, potrebujemo merilo za odločitev, ali je datoteka del izvorne kode ali ne.
  • Vrsta spremembe izvorne kode:
    • Vrstice dodane
    • Vrstice odstranjene
    • Beli prostor

Filtri

  • Po akterjih (avtor, avtor). Zahteva združevanje igralcev (združevanje ID-jev, ki ustrezajo istemu avtorju).

  • Po skupinah akterjev (delodajalec, spol ...). Zahteva združevanje igralcev in verjetno združevanje igralcev.

  • By oznake (uporabljeno v sporočilu potrditev). Zahteva strukturo za sporočilo potrditev. To oznako je mogoče uporabiti v odprtokodnem projektu za sporočanje vsem sodelujočim, če je objava na primer popravek napake ali izboljšava funkcije.

Vizualizacije

  • Preštejte na mesec skozi čas
  • Preštejte na skupino skozi čas

Lahko bi jih predstavili kot palične grafikone, s časom, ki teče na osi X. Vsaka vrstica bi predstavljala spremembe kode v določenem obdobju (npr. mesec).

Orodja za zagotavljanje metrike

  • GrimoireLab ponuja to meritev takoj po namestitvi.

    • Oglejte si primer na CHAOSS primer Bitergia Analytics.
    • Prenesite in uvozite pripravljeno nadzorno ploščo, ki vsebuje primere za to metrično vizualizacijo iz Zbirka plošč GrimoireLab Sigils.
    • Dodajte vzorčno vizualizacijo na katero koli nadzorno ploščo GrimoreLab Kibiter po teh navodilih:
    • Ustvari novo Area grafikon
    • Izberite git Indeks
    • Y-os 1: Sum združevanje, lines_added Polje, Lines Added Oznaka po meri
    • Y-os 2: Sum združevanje, painless_inverted_lines_removed_git Polje, Lines Removed Oznaka po meri
    • X-os: Date Histogram združevanje, grimoire_creation_date Polje, Auto interval, Time Oznaka po meri
    • Primer posnetka zaslona:

    Posnetek zaslona GrimoireLab metrike Code_Changes_Lines

Strategije zbiranja podatkov

Poseben opis: Git

V primerih git definiramo "spremembo kode" in "datum spremembe", kot je podrobno opisano v Zaveza sprememb kode. Datum spremembe je mogoče definirati (za upoštevanje v obdobju ali ne) kot datum avtorja ali datum izdaje ustrezne objave git.

Ker git zagotavlja spremembe kot popravke diff (seznam dodanih in odstranjenih vrstic), bo vsaka od teh vrstic, omenjenih kot dodana ali odstranjena vrstica v diffu, obravnavana kot spremenjena (dotaknjena) vrstica. Če je črta odstranjena in dodana, bo to obravnavano kot dve "spremembi vrstice".

Obvezni parametri:

  • Nekakšen zmenek. Datum avtorja ali datum pošiljatelja. Privzeto: datum avtorja.
    Za vsako objavo git se hranita dva datuma: kdaj je bila potrditev avtorska in kdaj je bila poslana v repozitorij. Za izbiro obdobja je treba izbrati enega od njih.

  • Vključi zaveze združevanja. Boolean. Privzeto: True.
    Obveze združevanja so tiste, ki združijo vejo in se v nekaterih primerih ne obravnavajo kot odraz dejavnosti kodiranja

Reference