Kolik napíšete denně řádků kódu?

programatorek

Kolik napíšete denně řádků kódu?
« kdy: 24. 01. 2016, 23:18:56 »
Tak jsem tak projížděl nějaké repositáře na githubu a díval se do grafů a narazil jsem např. na 2,4 milionů řádků kódu commitnutých za pár let (od jednoho člověka). No vycházelo to denně na cca 1500 řádků kódu po dobu 5 let. Mě to přijde strašně moc. Dělám docela intenzivně na jednom projektu cca 2 měsíce a bez dokumentace a licence v každém souboru jsem na nějakých 11000 řádcích kódu. Jako 100% jsou lidi, kterým to jde od ruky asi víc než mě, ale takhle mám pocit, že jsem úplně zoufale pomalej :D.

Vím, že to nelze příliš zobecňovat a podle typu projektu může být třeba i 100 řádků denně dost, kvalitu projektu nelze posuzovat podle počtu řádků a navíc jeden řádek může mít třeba milión znaků, že :)). Ale ty extremy bych vynechal.

Kolik vyprodukujete za směnu v průměru řádků kódu vy?


Kit

Re:Kolik napíšete denně řádků kódu?
« Odpověď #1 kdy: 24. 01. 2016, 23:27:11 »
Nezoufej, u mne je to obvykle v rozsahu od -1000 do +1000. Záleží na tom, jak se mi ten den daří a na čem zrovna dělám. Napsat 1000 řádek denně systematicky zvládá snad jen Radek Hulán.

V žádném případě to neříká nic o kvalitě kódu, takže můžeš být v klidu.

Jenda

Re:Kolik napíšete denně řádků kódu?
« Odpověď #2 kdy: 24. 01. 2016, 23:27:23 »
Maximálně 1000.

Ale asi taky záleží na tom, co a v čem programuješ. Jednoduché weby se píšou hrrr, v Javě za tebe půlku kódu vygeneruje IDE :), a pak jsou věci, nad kterými půl dne přemýšlíš, napíšeš funkci, a pak ji druhou půlku dne ladíš. (asi přeháním)

Re:Kolik napíšete denně řádků kódu?
« Odpověď #3 kdy: 24. 01. 2016, 23:30:31 »
Po kolika rumech?

Franta <xkucf03/>

Re:Kolik napíšete denně řádků kódu?
« Odpověď #4 kdy: 25. 01. 2016, 00:03:24 »
Velký počet řádků je spíš nevýhoda než výhoda – rozhodně to není nic, za čím by ses měl hnát. Miliony řádků nejsou nic záviděníhodného – je to velmi náročné (drahé) na údržbu a další rozvoj. Pokud je to kvalitní kód a dobře promyšlený návrh, tak se to dá, protože se nemusíš moc hrabat v minulosti a můžeš tomu kódu věřit a stavět na něm. Ale pokud by to byl milion řádků nedodělků a kódu nevalné kvality nebo i špatný návrh, tak je to vážně neštěstí, to už je lepší snad začít znovu než se v tom patlat.

Ideální je mít program tak o velikosti jednotek až desítek tisíc. V tom se i nový člověk zvládne v nějakém rozumném čase zorientovat. A i kdybys chtěl dělat nějaký větší refaktoring nebo překopat návrh, tak se to dá zvládnout celkem v pohodě.

Co se týče počtu řádků za den – těch 1500 může občas být, ale je to lehký kód, který nic moc nedělá – třeba datové struktury nebo rozhraní opsané z analýzy či standardu. Ale pokud ten kód něco dělá, tak jsou to spíš desítky až stovky řádků. Nebo se to dá líp měřit na třídy – za den uděláš jednu třídu + jednotkové testy (a na začátku si nastuduješ zadání). Zdá se to málo, ale výsledkem je kvalitní práce, která se dá považovat za hotovou – a ne nedodělek, ke kterému se budeš ještě pětkrát vracet. Při takovém stylu práce ti to testeři vrátí jen výjimečně a do produkce se chyby téměř nedostanou. Pokud nevyvíjíš nové věci, ale zrovna opravuješ chyby, tak za den napíšeš třeba jeden dva řádky – zbytek dne tu chybu hledáš. Nebo nenapíšeš ani řádek, protože zjistíš, že to chyba není nebo že chyba je někde jinde (prostředí, jiné systémy…). Taky můžeš strávit den analýzou a návrhem a nenapsat vůbec nic (resp. žádný kód).

Nedovedu si představit, že bych napsal 1500 řádků každý den. Nebyl to spíš někdo, kdo dělá revize a začleňuje kód napsaný jinými lidmi?

BTW: když jsem teď psal jeden program jen tak podle sebe víceméně bez zadání, tak to bylo cca tisíc řádků (jen kód, bez prázdných řádků míst a komentářů), ale to není úplně typické – většinou je potřeba víc přemýšlet a víc řešit zadání a návrh, než bouchat kód.

P.S. mluvím samozřejmě o ručně psaném kódu v programovacím jazyce, ne nějaké HTML srágory nebo vygenerovaný kód či konfiguráky ze šablony. A pokud jde o SQL, tak to sice programování je, ale když odsazuješ jako já, tak máš snadno stovky řádků, ale nedá se to srovnávat třeba se stovkami řádků v Javě.


programatorek

Re:Kolik napíšete denně řádků kódu?
« Odpověď #5 kdy: 25. 01. 2016, 00:09:48 »

Nedovedu si představit, že bych napsal 1500 řádků každý den. Nebyl to spíš někdo, kdo dělá revize a začleňuje kód napsaný jinými lidmi?


Taky mě to před chvílí napadlo, jestli to třeba nebyl někdo, kdo nějak začleňuje kód od více lidí.
Konkrétně projekt je to Torque3D (https://github.com/GarageGames/Torque3D/graphs/contributors).
Když jsem si rozkliknul commity od toho DavidWyand-GG, tak tam je hodne merge pull request, takže to asi bude ten případ :).

Žirafa

Re:Kolik napíšete denně řádků kódu?
« Odpověď #6 kdy: 25. 01. 2016, 00:23:42 »
To je jako porovnávat zahradníky podle toho, který z nich použije při práci více vody a hnojiva.

Řádky kódy pouze naznačují komplexnost problému, který pak hotový projekt řeší.
I když pak někdo jde a porovná počet řádků GNU/Linux a Windows: ~16M VS ~40M (Xp)
Co to říká o kvalitě, provedení, návrhu... ? Nic.

A jestli se cítíš jako šnek?
  • Stíháš termíny?
  • Máš na konci pracovního dne pocit, že jsi někam pokročil?
  • Je zadavatel spokojen?
  ;)

Re:Kolik napíšete denně řádků kódu?
« Odpověď #7 kdy: 25. 01. 2016, 05:12:53 »
Tohle fakt nekdo nejak pocita/statisticky analyzuje?
Děkuji za možnost editace příspěvku.

Franta <xkucf03/>

Re:Kolik napíšete denně řádků kódu?
« Odpověď #8 kdy: 25. 01. 2016, 07:42:50 »
Tohle fakt nekdo nejak pocita/statisticky analyzuje?

Já na to psal dokonce bakalářku :-) Nicméně závěr byl mj. ten, že by se to nemělo přehánět, protože přes zpětnou vazbu by to to mělo negativní vliv na práci programátorů.

Petr

Re:Kolik napíšete denně řádků kódu?
« Odpověď #9 kdy: 25. 01. 2016, 08:41:42 »
Zrovna teď jsem dělal takový menší program s GUI. Importuje, zpracovává a prezentuje to data ze snímačů s možností ručních editací, nastavování různých kritérií atd. Má to 2 800 řádků a trvalo mě to 9 dní. Takže jsem šnek.

Mirek

Re:Kolik napíšete denně řádků kódu?
« Odpověď #10 kdy: 25. 01. 2016, 09:11:28 »
Zrovna teď jsem dělal takový menší program s GUI. Importuje, zpracovává a prezentuje to data ze snímačů s možností ručních editací, nastavování různých kritérií atd. Má to 2 800 řádků a trvalo mě to 9 dní. Takže jsem šnek.
A vyloučil jsi z toho čas na analýzu, tvorbu a verifikaci požadavků, návrh architektury, požadavky na testování, modulové testy, integraci, integrační testy atd, takže jde jen o čistý čas psaní a vlastní ověření funkce?

k

Re:Kolik napíšete denně řádků kódu?
« Odpověď #11 kdy: 25. 01. 2016, 09:36:27 »
Počet řádků nemá valnou korelaci s kvalitou, vždy záleží na tom co vlastně programátor vyprodukoval.
Oba extrémy jsou obvykle špatně, příliš mnoho řádků bývá produkt Ctrl+C Ctrl+V a příliš málo řádků bývá špatně čitelných.

Pavouk106

  • *****
  • 2 399
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Kolik napíšete denně řádků kódu?
« Odpověď #12 kdy: 25. 01. 2016, 09:38:30 »
Když to vezmu průměrně, tak bych řekl asi 10 řádků kódu.

Samozřejmě je to tak, že měsíc (nebo dýl) na nic nesáhnu a pak vysypu 1000 za večer. Kdyby mě viděl nějakej profi programátor, tak by mi nafackoval a pak to z 1000 zkrátil na 300 ;D Samozřejmě při zachování funkce a optimalizace rychlosti ;D ;D ;D

Petr

Re:Kolik napíšete denně řádků kódu?
« Odpověď #13 kdy: 25. 01. 2016, 09:58:11 »
Mirek> Ne, nevyloučil. Je to komplet čas včetně všech činností, které s tím souvisí. Tedy i včetně návrhu gui, návrhu datových struktur, algoritmů, plus testování, testování a ještě jednou testování a to jak na Windows tak na Linuxu. Největší porod je pro mě vymyslet tu logiku, struktury atd. To jen sedím na židli, čumím do prázdna, nikdo na mě nesmí mluvit, stokrát dokola promýšlím postup a občas si udělám poznámku na papír. Radost je pak psaní kódu. Únavná práce je testování a oprava chyb. Ale všechny tyto činnosti k tomu patří, takže je musím započítat.

Mirek

Re:Kolik napíšete denně řádků kódu?
« Odpověď #14 kdy: 25. 01. 2016, 10:07:57 »
Mirek> Ne, nevyloučil. Je to komplet čas včetně všech činností, které s tím souvisí. Tedy i včetně návrhu gui, návrhu datových struktur, algoritmů, plus testování, testování a ještě jednou testování a to jak na Windows tak na Linuxu. Největší porod je pro mě vymyslet tu logiku, struktury atd. To jen sedím na židli, čumím do prázdna, nikdo na mě nesmí mluvit, stokrát dokola promýšlím postup a občas si udělám poznámku na papír. Radost je pak psaní kódu. Únavná práce je testování a oprava chyb. Ale všechny tyto činnosti k tomu patří, takže je musím započítat.
OK, pak to ale musíš brát v úvahu když se s někým porovnáváš abys srovnával (alespoň vzdáleně) srovnatelné a ne 2 úplně jiné věci.