Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Efikasnost (java) programera - Kako meriti?

[es] :: Art of Programming :: Efikasnost (java) programera - Kako meriti?

[ Pregleda: 5112 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

spartanac86
student
Jugoistocna Srbija

Član broj: 178865
Poruke: 93
160.99.9.*



Profil

icon Efikasnost (java) programera - Kako meriti?25.11.2008. u 09:40 - pre 187 meseci
Kako bi se mogla realno meriti efikasnost java programera placenog da radi po satu?
Bila su neka istrazivanja koja kazu da prosecan java programer koji radi full-time napise od 200-3000 linija cistog, debuggiranog, finalnog koda mesecno.

Znaci cifra moze prilicno da varira, kao i plata :))

Drugo pitanje, kako meriti efikasnost programera koji odrzava/debuggira vec gotove aplikacije (cesto sa vrlo oskudnom dokumentacijom) i 90% vremena provodi samo citajuci i analizirajuci kod?
 
Odgovor na temu

kernel82

Član broj: 36093
Poruke: 58
*.pinsoft.com.



Profil

icon Re: Efikasnost (java) programera - Kako meriti?25.11.2008. u 10:20 - pre 187 meseci
for (int i = oldOrdinal + 1 - 1; i < newOrdinal && i < (vec.size() + 1); i++)

Ako pishe ovakav kod, a u u blizini ti je onda treba da ga bijesh

Ja nemam tu srecu da mi je u blizini! A shto je najgore danas i pocetnici dobiju 400 - 500 evra, pa ti vidi sta je realno...
Walk on, walk on
with hope in your hearts
And you'll never walk alone
You'll never walk alone.
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9495
212.200.68.*



+10253 Profil

icon Re: Efikasnost (java) programera - Kako meriti?25.11.2008. u 10:28 - pre 187 meseci
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
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
*.dynamic.sbb.rs.



+7 Profil

icon Re: Efikasnost (java) programera - Kako meriti?25.11.2008. u 14:55 - pre 187 meseci
Slazem se sa ovim sto je napisao @Java Beograd i dodao bi par stvari.
Nije mi cilj da edukujem lose menadzere :) nego da , ako mogu , pomognem programerskoj zajednici na ovim nasim prostorima. Mozda ce ovo neko i da procita :) ...
Prvo broj linija koda je slaba mera efikasnosti (npr. mozda je znam da napisem jednu efikasniju liniju koda od necije 4) .
Druga vazna stvar je kvalitet softvera. Obicno se sa porastom (nepotrebnih) linija koda (nekoriscene promenljive ili nepotrebne petlje i uslovi) smanjuje kvalitet (brzina i iskoriscenost memorije , znaci performanse).
Zakljucak, ako se placanjem stimulise pisanje vise linija koda nego sto bi trebalo onda je to lose za kvalitet softvera i to je neka vrsta negativne selekcije.
Programeru se na taj nacin nudi da bira izmedju kvaliteta i svoje zarade, tako da ako izabere da vise zaradi ne treba kriviti njega za kvalitet jer je sistem los.
Ironicno al mozda bi trebao da placas za sto manje linija koje rade isti posao :)
I jedan ozbiljan predlog
Ako vec mora da se broji (mada ja mislim da efikasnost programera moze da proceni samo drugi programer, i to bolji od njega) broji funkcije (i / ili klase u OO jezicima).
Vise malih funkcija (umesto velikih u kojima se delovi koda cesto ponavljaju) je obicno plus u smislu kvaliteta.
Pozdrav


 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-3.sezampro.yu.



+13 Profil

icon Re: Efikasnost (java) programera - Kako meriti?25.11.2008. u 18:22 - pre 187 meseci
Moze - JavaMetrom.
 
Odgovor na temu

Radovan__III
Radovan__III
Beograd

Član broj: 15669
Poruke: 1245
93.86.148.*



+26 Profil

icon Re: Efikasnost (java) programera - Kako meriti?25.11.2008. u 19:09 - pre 187 meseci
Nista od ovoga nije tacno ! ( cisto zbog dramatizacije )

Nebitno u kom jeziku merimo "broj linija koda" nije merilo dobrog ili loseg programera vi ste verovatno mislili na brzinu izvrsenja odredjenog koda i na konzistentnost koda koji je napisan.

Po meni najvazniji pokazatelj merenja je nacin pisanja koda tj da kod
1. vrsi funkciju
2. moze se lako nadograditi bez ikakvog menjanja klasa koje vec postoje !

Od programera se ocekuju klase ako gledamo na tom nivou koje odradjuju posao, mene bas briga kako je on to napisao ako to radi posao i ako ja tu klasu mogu da koristim za svoje druge namene takodje klasa mora da strukturno organizovana tako da se lako moze ceo sistem siriti bez ikakve potrebe da ja ulazim u to sta je on napisao.

Takodje se moze uzeti u obzir i broj klasa koje programer vec ima tj koje je vec napisao i moze da ih koristi u datom trenutku i da ne mora da pravi svaki put novu za pisanje u xml npr


[Ovu poruku je menjao Radovan__III dana 25.11.2008. u 20:23 GMT+1]
Aj sad svi u biblioteku da nesto pojedemo i popijemo ...
--------------------------------
Knjigovodstvo

 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Efikasnost (java) programera - Kako meriti?25.11.2008. u 19:14 - pre 187 meseci
Za merenje efikasnosti programera postoji samo jedan način - drugi programer.

BTW, ovo treba prebaciti u Art Of Programming, budući da apsolutno ista pravila važe za sve platforme.
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
195.178.35.*



+3 Profil

icon Re: Efikasnost (java) programera - Kako meriti?28.11.2008. u 09:02 - pre 187 meseci
Zaboravlja se jedna sitnica: kompleksnost zadatka koji programer mora da resi.
Nije isto pisati kod koji treba da iscita/upise neke podatke u bazu (u 80% slucajeva),
i pisati koji treba da radi koriscenjem thredova, pisati optimizacije,
pisati kod za obrade video/audio/stagod sadrzaja itd...

Ocigledno je da se produktivnost jednog programera moze ustanoviti samo poredjenjem sa
drugim programerom iz iste branse (prog. jezik, alat, vrsta posla itd), ali uporedjivanjem broja
napisanih linija koda ili uporedjivanjem prema broju uradjenih zadataka, bez odredjivanja
njihove kompleksnosti, odnosno kvaliteta napisanog koda, dobijamo ocajne pokazatelje o
produktivnosti.

Dakle, da bi se ocenila produktivnost programera, potreban je tim, koji opet, moze da ima
sledecu strukturu:

* Jedan programer (shef) ocenjuje (citaj potcenjuje) ostale programere,
a on sam (shef) je neprikosnoveni genije.

* programeri medjusobno razmenjuju iskustvo/znanje o problemima/resenjima koje su
imali/napisali, a probleme (pretezno organizacioni) koje ne mogu da rese prebacuju
menadzmentu.


Btw, negde sam procitao (mozda i na ovom forumu):
Menadzment: programer mora da napise dnevno 1000 linija koda!
Programer : Evo izvolite, napisao sam program koji napise dnevno 1000 linija koda...
...a sad me pustite da radim!


poz.
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Efikasnost (java) programera - Kako meriti?28.11.2008. u 11:06 - pre 187 meseci
Rekao bih da ne postoji 'matematicki model' za mjerenje efikasnosti vec cisto onaj subjektivni / socijalni, gdje imas:

Citat:
* Jedan programer (shef) ocenjuje (citaj potcenjuje) ostale programere,
a on sam (shef) je neprikosnoveni genije.


Mada shef ne mora biti programerski genije, dovoljno je da razumije o cemu se radi i lako mozes skontati kako ko radi.

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
*.dynamic.sbb.rs.



+7 Profil

icon Re: Efikasnost (java) programera - Kako meriti?30.11.2008. u 23:56 - pre 187 meseci
@bondja
Ovo sto si napisao da treba gledati koliko je neki problem "tezak" ima smisla ali i to je relativo
Npr. tebi neka oblast izgleda teska ali onom ko to radi duze vreme je manje vise prosto zato sto ima iskustvo ... mozda je njemu teze da pravi baze :)
Mislim da, vezano za produktivnost, treba gledati na to koliko je nesto tesko da se uradi ali mnogo relativije nego sto si ti napisao ...
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.eunet.rs.



+67 Profil

icon Re: Efikasnost (java) programera - Kako meriti?04.12.2008. u 18:00 - pre 187 meseci
Dajkstra je negde , vrlo filozofski moram priznati, zakljucio da se kao mera produktivnosti programera trebaju gledati POTROSENE linije koda
 
Odgovor na temu

[es] :: Art of Programming :: Efikasnost (java) programera - Kako meriti?

[ Pregleda: 5112 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.