Tehnoloģijas

Kvalitātes mīts: Kāpēc programmēšanas kodu nevar izmērīt ar skaitļiem

okei.lv redakcija
Dalīties

Kvalitātes mīts: Kāpēc programmēšanas kodu nevar izmērīt ar skaitļiem

Daudzi uzņēmumi vēlas izmērīt savu programmētāju darba kvalitāti, pārvēršot to vienkāršos skaitļos. Tomēr, kā liecina tehnoloģiju pasaules pieredze, koda kvalitāte nav matemātisks vienādojums. Pat ja mēs saskaitām katru rakstzīmi vai rindiņu, mēs neiegūstam patiesu ainu par to, cik labs vai slikts ir izstrādātais risinājums.

Kāpēc skaitļi mūs maldina?

Vēsturiski izstrādātāji ir centušies kvantificēt kodu, izmantojot dažādas metodes:

  • Koda rindiņu skaits (LOC): Vairāk rindiņu nebūt nenozīmē labāku vai sarežģītāku darbu. Bieži vien divas rindiņas koda ir krietni labākas nekā divdesmit.
  • Ciklo-matiskā sarežģītība: Šī metode skaita, cik daudz ceļu ir caur kodu. Dažreiz vienkārša, bet gara funkcija ir saprotamāka nekā īsa, bet haotiski pārslēgta “if/else” struktūra.
  • Testu pārklājums (Code Coverage): Tas parāda tikai to, ka kods ir izpildīts, nevis to, ka tas ir pareizi pārbaudīts.

Goodharta likums: Kad metrika kļūst par mērķi

Ekonomists Čārlzs Gudhārts reiz teica: “Tiklīdz metrika kļūst par mērķi, tā vairs nav labs rādītājs.” Ja programmētājiem maksā par uzrakstīto rindiņu skaitu, viņi sāks rakstīt garu un nevajadzīgu kodu. Ja mērķis ir 100% testa pārklājums, viņi rakstīs testus, kas neko nepārbauda, tikai lai “izpildītu normu”.

Metode Ko mēra Galvenā problēma
Rindiņu skaits Koda garumu Kvalitāti var samazināt, kodu īsinot
Sarežģītība Zaru skaitu Ignorē koda loģisko jēgu
Testu pārklājums Izpildītos fragmentus Neizmēra testu kvalitāti

Kas patiešām svarīgs?

Koda kvalitātes svarīgākās sastāvdaļas ir:

  1. Nolasāmība: Vai cits programmētājs to sapratīs?
  2. Domēna valoda: Vai mainīgo nosaukumi atbilst tam, ko tie dara?
  3. Uzturamība: Cik viegli ir ieviest izmaiņas, nesalaužot visu sistēmu?

Neviena no šīm lietām nav izmērāma ar automātisku rīku. Tās prasa cilvēka pieredzi un kopīgu izpratni par mērķi. Metrikas var būt noderīgas kā indikatori, lai pamanītu problēmas, taču tās nekad nedrīkst aizstāt profesionālu koda apskati (Code Review) un kritisku domāšanu.

Kā domā Tu - vai mēs pārāk daudz paļaujamies uz “sauso” statistiku programmēšanā, vai arī tā palīdz saglabāt kārtību lielos projektos?

✎Kļūda rakstā?
Iezīmē tekstu un spied ziņot par kļūdu.

Seko okei.lv

Tehnoloģiju jaunumi latviski. Izvēlies sev ērto tīklu.

Līdzīgi raksti