Obavijesti

Kolumne

Komentari 15

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

24sata placeholder

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.

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
Ako se budite u ovo vrijeme u noći - jetra vam šalje signale
UPOZORENJE ORGANIZMU

Ako se budite u ovo vrijeme u noći - jetra vam šalje signale

Mnogi ljudi doživljavaju frustrirajući obrazac noćnog nemira: utonu u san bez problema, da bi se potom, kao po satu, probudili usred noći. Ovdje su savjeti kako poraditi na dubljem snu
SP 2026. Raspored i satnica svih utakmica play-offa i Hrvatske
SVE NA JEDNOM MJESTU

SP 2026. Raspored i satnica svih utakmica play-offa i Hrvatske

SP 2026. u Kanadi, SAD-u i Meksiku donosi novi format s 48 ekipa! Hoće li Hrvatska ponovno osvojiti medalju? Sve počinje 11. lipnja, a finale je 19. srpnja
Raspored i ljestvica HNL-a, svih utakmica Europe i Kupa 25/26.
SVE NA JEDNOM MJESTU

Raspored i ljestvica HNL-a, svih utakmica Europe i Kupa 25/26.

RASPORED I LJESTVICA HNL-a Prvenstvo završava 24. svibnja, a dva kola prije kraja u Osijeku je na rasporedu finale Kupa na jednu utakmicu