Obavijesti

Kolumne

Komentari 15

Isplati li se programere plaćati po liniji napisanog koda?

Onima koji nisu programeri jako je teško ocijeniti i izmjeriti njihov rad. Nepoznavanje te problematike dovodi do loših rješenja poput mjerenja koda.

VIDEO

U prošloj kolumni pisao sam o milijunima linija izvornog koda u vozilima, letjelicama, operacijskim sustavima. Upotrebljavati takvu metriku za mjerenje učinka programera je pogrešno, ali kad se usporedi broj linija koda onda se može dobiti dojam o tome koliko je uloženo posla da bi pojedini posao završio. Nije isto ako projekt ima 500, 50.000 ili 5.000.000 linija koda.

Programiranje je posao gdje svaki zadatak možete napraviti na nekoliko različitih načina. Ako za njega angažirate nekoliko programera velika je vjerojatnost da će svaki od njih to napraviti drugačije i u različitom vremenskom rasponu. Broj linija koda će se sigurno razlikovati. Neki će najboljima smatrati one koji to naprave u najkraćem vremenu i s najmanjim brojem linija koda, ali takvi će sasvim sigurno zaboraviti neku iznimku ili obraditi ulazne podatke na potreban način.

Ovaj tjedan sam bio produktivan -2000 linija koda

Oni koji šefuju programerima, a sami nisu nikada bili programeri (ne računamo one koji su napravili program koji crta krug na zaslonu) često se nađu u situaciji da vrednuju njihov rad i za to traže konkretnu metriku.

Appleov tim koji je 1982. radio na razvoju programa za Lisu bio je u gužvi jer je isporuka slijedila za 6 mjeseci. Neki šefovi su se dosjetili da bi mogli mjeriti učinkovitost programera po količini koda koju tjedno napišu pa su zatražili od njih da svaki petak prijave koliko su linija koda napisali. Jedan od najvažnijih ljudi na projektu, Bill Atkinson, smatrao je da se tako ne može mjeriti produktivnost programera jer mu je cilj bio da piše što brže i što manje programe.

Kako je baš taj tjedan radio na optimizaciji koda kojom je uštedio 2000 linija koda Bill je taj jedan prijavio da je napisao -2000 linija. Nije poznato kako su šefovi reagirali, ali za par tjedana su prestali tražiti od Billa da ispunjava taj formular.

Što bi napravili konformisti?

Bill je pokazao kako je takva metrika besmislena, nemam podatak kako su reagirali drugi u tom Apple timu, ali sasvim sigurno znam kakva bi bila reakcija konformista programera. Oni bi najprije pisali jako puno nepotrebnog koda dok se ne bi dosjetili da bi mogli napisati i generator koda koji bi sam pisao kod koji ne bi radio ništa korisno, ali bi povećao broj linija koda. Šefovi bi sigurno bili iznenađeni kako se produktivnost iznenadno povećala, možda bi si isplatili i pokoji bonus zbog toga. Sve dok im stvarnost ne bi lupila u glavu kad bi vidjeli da se povećana produktivnost nije očitovala i u samoj aplikaciji koja bi postala sve lošija i lošija.

Koje je rješenje problema?

Nema rješenja. Kod se ne može ocjenjivati niti plaćati po broju redova. To vam može biti indikator, ali ne i konačna metrika. Kod bi mogli usporediti s periodnim sustavom elemenata. Par stotina redova nekog algoritma koji rješava određeni problem može biti teže (i skuplje i za njihovo pisanje treba puno više vremena) od aplikacije koja rješava uobičajene probleme i čiji se broj linija koda mjeri u tisućama. Problem je u tome što takav periodni sustav ne postoji i teško da će ikada postojati za programiranje.

Jedno je sigurno, mjerenje linija koda nije rješenje.

Igre na sreću mogu izazvati ovisnost. 18+.
Vidi sve članke ovog autora
Sve što je bitno, na dohvat ruke
Skini aplikaciju za najbolje iskustvo portala. Čitaj, komentiraj i budi uvijek u toku s najnovijim vijestima.

Komentari 15
VIDEO

Mjesečni horoskop za svibanj: Djevicu čeka ljubav, Lava prekid
ZA SVAKI ZNAK ZODIJAKA

Mjesečni horoskop za svibanj: Djevicu čeka ljubav, Lava prekid

Jake pozicije Venere u Biku i Marsa u Ovnu snažan su poticaj za ostvarenje poslovnih, ali i ljubavnih želja. Donosimo što vas čeka, ocjene mjeseca i najbolje datume

Dan prije smrti je plakao, htjeli su da propusti utrku, odbio je...
AYRTON SENNA: 30 GODINA OD SMRTI

Dan prije smrti je plakao, htjeli su da propusti utrku, odbio je...

Ayrton Senna poginuo je 1. svibnja 1994. u Imoli kad se s 310 km/h zabio u zid. Bio je jedan od najvećih vozača Formule 1 u povijesti, a njegovo rivalstvo s Alainom Prostom bilo je više od sporta
Tko je Edin Terzić? Hit trener u Europi pomagao 'vatrenima'. I želi biti izbornik reprezentacije
PRIČA O TRENERU DORTMUNDA

Tko je Edin Terzić? Hit trener u Europi pomagao 'vatrenima'. I želi biti izbornik reprezentacije

Otac mu je iz Donjeg Vakufa, majka iz Osijeka. Skautirao je u Hrvatskoj za Borussiju, ljetuje u Makarskoj, zna hrvatske pjesme i prati HNL, a vodio je i Haalanda, Reusa...