Od starta si pogrešno počeo !
Efikasnost programera se nikako ne može meriti brojem linija programskog koda. A na stranu i to što postoje oprečna mišljenja šta je uopšte linija programskog koda, posebno imajući u vidu konvenciju java sors koda. Evo jednog foo primera
Code:
import java.util.*;
import java.text.*;
public class MyClass {
public String varijabla_1 = "";
public String varijabla_2 = "";
public String varijabla_3 = "";
public MyClass(String line) {
StringTokenizer st = new StringTokenizer(line, "\t");
if (line.equals("Trala-la")) {
line = varijabla_1;
} else {
line = varijabla_2;
}
}
}
Dakle, ako bi se ovo sačuvalo u fajlu, fajl bi imao 18 linija. Da li je to toliko i "linija programskog koda" ? Ili se ne broje prazne linije i linije sa zatvorenom akoladom. Ili se cela
if grana smatra jednom linijom, a
else još jednom linijom. Kako ćeš da brojiš import linije (možda sav import kao jednu liniju) kako deklaraciju promenljivih, kako deklaraciju klasa, metoda i slično.
Dalje, OO programiranje se svodi na neprestano refaktorisanje, neprekidno ubacivanje novih klasa, paketa, prebacivanje funkcionalnosti iz jednog druge delove koda i slično. Imajući ovo u vidu, jasno je da je mnogo bolje imati manje koda funkcionalno raspoređenog po pojedinim klasama, nego imati masivan špageti kod koji je kasnije jako teško održavati. (A zna se da je 85% uloženog rada u softver, za vreme njegovog životnog veka zapravo održavanje)
Šta misliš, kakav će kod da pišu programeri koji znaju da su plaćeni po liniji sorsa (sve i kad bi se našla pravedna definicija "linije"). Daj da pokušam da dam odgovor. Postoji posebna vrsta programiranja, (definisana od strane starih VB, ASP programera)
Copy - paste sa razumevanjem !
E sad, ako ne može ovako, kako ćemo onda ? Pa, pravog odgovora i nema.
Najčešća je praksa da se ceo projekat podeli na sitnije delove, i za svaki manji deo, otprilike, iskustveno, odredi koliko je programer/sati potrebno. Pri tome, ako je programer angažovan duže vreme, za više delova projekta, jasno je da će se nekad naći u povoljnijoj a nekad u nepovoljnijoj poziciji.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji