Cate linii de cod scrieti pe zi?

Stiu ca suna idiotic si stiu ca nu in asta se masoara productivitatea unui programator, dar e o curiozitate de-a mea si vreau ca postul sa imi serveasca si ca referinta in discutiile in contradictoriu pe care le mai am din cand in cand cu project manageri/product manageri/ scrum masteri/ etc.

Am masurat ultima saptamana si mi-au iesit in jur de 200 de linii de cod, productive, pe zi. Also, eu scriu PHP. Poate ca daca scriam Ruby erau mai putine. Daca scriam Java - mai multe si tot asa.

1 Like

De ce ar conta?

Banuiesc ca Project Managerul tau crede ca esti lenes de scrii doar 200 linii de php / zi.

Poti sa ii spui Project Manager-ului tau ca e praf daca masoara productivitatea unui developer in linii de cod. Poti sa scrii

<?php  echo "Hello, World!"; ?>

de 200 de ori si nu rezolvi nimic. Daca te supara lasa-l in mintea lui scriei de 200 de ori exemplul de mai sus, mai da un copy paste la 2-3 clase din framework-ul cu care lucrezi, redenumeste-le in tacheshun-super-class si spune-i ca i-ai scris 2000 linii de cod / zi si ca vrei salariu mai mare :smile:.

O linie poate sa aibe o variabila sau un comparator carnat sau whatever. Este irelevant cate astfel de linii scrii. De regula, dupa code reviwe-uri, proiecte de lucrat dupa altii etc. E mai bine sa rezolv o problema in cat mai putine linii de cod.

Productia se masoara in task-uri / ticket-uri rezolvate / zi. Atata timp cat este mai mare de 1 ar trebui sa fie in regula.

Exemplu: Vineri am scris 1200 CSS / ~ 500 HTML5 / 60 JS [cu mentiunea ca lucrez in boilerplate de tipul Initializr
Lucram la un proiect personal.

Dupa cum ai banuit, un PHP ist are nevoie de mai multe linii scrise pentru, de exemplu a crea o clasa decat un Ruby ist.

4 Likes

1 in forma minificata, there! :slight_smile:

1 Like

Daca ii dai si minify cred ca project managerul lui il da afara. :slight_smile:

3 Likes

Ar fi mai bine sa coordoneze copyrighteri project managerul asta de care vorbesti :expressionless: Poti sa faci research 3/4 dintr-o zi si sa scrii 10 linii super importante, nu cred ca are nici o relevanta volumul.

2 Likes

Stiu ca suna sf dar poate ca ati avut voi noroc si nu ati dat peste oameni din astia sau pur si simplu nu acceptati asemenea tratament insa ati fi surprinsi de cat de multi PM masoara productivitatea astfel, sau ii bate gandu sa o masoare.

In 2012 o companie chiar mi-a propus sa ma plateasca la linii de cod. Sunt mici dar daca va intereseaza numele lor va spun pe privat :smiley:

Arata-i PM-ului tau acest thread. :smile:

Auzi, dar din curiozitate PM-ul tau stie ce inseamna programarea, dezvoltarea aplicatiilor, dezvoltarea modulelor pentru aplicatii, sau este un PM care a facut “marketing-ul” cu masterat in “public relations” si doctorat in “management” a avut o pila si a devenit PM peste noapte iar in acea noapte a dat search pe wikipedia la “programare” ca sa stie cu ce se o sa se ocupe?

2 Likes

Explica-i persoanei in cauza urmatoarea idee:

Assembly > C > php

Toate layerele de abstractizare au ca rol eficientizarea productivitatii prin reducerea numarului de linii de cod pe care trebuie sa le scrii sa obtii rezultatul dorit.

Modularizarea unei aplicatii are acelasi rol, la fel ca si DRY si alte metode de lucru.

2 Likes

Dacă aș avea un angajator ce m-ar plăti pentru liniile de cod scrise aș renunța imediat la colaborare. Pe lângă faptul că este o unitate de măsură absolut irelevantă, se pierd din vedere și anumite aspecte (de genul: timpul de research unde intră?). Cum se măsoară o linie de cod? Dacă pui acoladele în stilul K&R, acoladele se numără ca o linie întreagă? Comentariile se pun la socoteală? Dar testele?

Chiar citeam zilele trecute despre modurile de măsurare a productivității unui programator iar număratul liniilor era în capul listei (aparent este o chestie comună!). Concluzia era că orice modalitate de măsurare ai impune, programatorii vor găsi o cale de a „păcăli” sistemul.

Cred că cel mai bun sistem de măsurare rămâne abilitatea de a termina un task în timpul alocat (sau mai repede).

2 Likes

Discutia asta nu are sens pentru nimic in lume.

3 Likes

Cam așa ar trebui să se pună problema. :slight_smile:

2 Likes

Te poti juca putin si separi fiecare token cu un “\n”, cum? Cam asa:

$this->info
=
$info;

$this->type    
= 
$type;

$this->gravity
=
$gravity;

Ii spui ca am zis eu ca asa e mai lizibil :))

Hint: poti face asta automat, folosind http://php.net/manual/ro/function.token-get-all.php

1 Like

Mai relevant: “Cate linii de cod scoti din proiectul curent via refactoring et al. zilnic/saptamanal?”

eu sunt foarte fericit cand sterg cod si nu pica nici un test. si cand scot if/elseif/else :smile:

1 Like

Viata de programator e de multe ori asemanatoare cu viata de artist. Imi fac in caiet schite, modele de database, tipuri de relatii, constructe complexe, ma documentez, ma inspir, mai schitez putin, si dupa o saptamana scriu 800 de linii de cod in loc sa scriu 4000, sa sterg 2000 si sa ajung la acelasi rezultat.

Numarul liniilor de cod conteaza mai mult la impresia artistica decat la functionalitatea si eficienta produsului final.

5 Likes

Chiar acum mă confrunt cu o chestie tare interesantă: am făcut o aplicație Phonegap ce trebuie testată pe Android și iOS.

Fiind pe Windows, mă ocup momentan de testarea pe Android. Problema este că build-ul are probleme deoarece nu știe să ignore node_modules și de ieri caut cum pot face asta.

De când caut asta, evident, nu am scris nici o linie de cod. Cum aș putea explica asta unui manager care îmi numără liniile de cod? :dash:

Stiti ce mi se pare cel putin curios? Faptul ca pe Wikipedia exista un articol dedicat productivitatii programatorilor iar primul punct tratat este:

Amount of code that can be created or maintained per programmer (often measured in source lines of code per day)

Cine scrie articolele astea?

Oricine! Poți edita un articol după bunul tău plac :smile:

Ești liber să editezi un articol dacă observi greșeli.

E si mentionat deasupra articolului:

“This article is written like a personal reflection or opinion essay that states the Wikipedia editor’s particular feelings about a topic, rather than the opinions of experts.”

1 Like

Eu am scris intr-o zi o linie de cod. De fapt, nici n-am scris-o, am modificat una deja existenta.

Era vorba de o metoda ajutatoare care era apelata de cateva milioane de ori in calculul care se facea - un arbore de decizie prin care trec toti banii primiti de firma.

Ce valoare are linia modificata de mine, in bani? Ia sa-l intrebi asta pe manager/master.

1 Like