Za jak dlouho byste čekali od juniora že se naučí codebase o 60k řádcích?

Zpanikařený Junior

A bude schopen dělat něco víc než bug fixy a nízko prioritní bug fixy bez dohledu a samostatně?


Mazak

Kdyz je to JS, Python nebo Java tak 2 mesice. Kdyz C++# tak 3 mesice. Kdyz Perl tak 2 roky  8)

Zdenek Henek nereg

A bude schopen dělat něco víc než bug fixy a nízko prioritní bug fixy bez dohledu a samostatně?

Zalezi na okolnostech a hlavne jaky je to kod :).

Dream kod
1. vse je automatizovane, mas moznost is cely produkt nasadit ve vlastnim prostredi
2. vsude jsou unit testy a integracni testy
3. testovaci data na co si vzpomenes
4. dobra dokumentace
5. dobry mentor, ktery ma na Tebe dost casu

pak si dokazu predstavit, ze budes produktivni rychle

na druhou stranu se tak trochu da ocekavat, ze

1. se budes hodne ucit
2. se budes hodne chtit ucit
3. se budes ucit i ve volnem case, ne kod, na kterem delas v praci, ale neco, co Te bavi a chces si s tim hrat,
treba neco, co by se casem dalo pouzit v praci, nebo treba jen kata na nauceni se dokonale jazyka - IDE etc.

cokoli, co se odchyluje od teto idealni situace, bude znamenat, ze potrebujes vic a vic a vic casu

Hodne stesti.

gll

Kdyz je to JS, Python nebo Java tak 2 mesice. Kdyz C++# tak 3 mesice. Kdyz Perl tak 2 roky  8)

mám opačnou zkušenost.

Shojian

To zalezi jak, je to zdokumentovano.

60k nezdokumentovanych radku v assembleru nikdy.

60k zdokumentovanych radku na front-endu (JSDoc, style guides, etc.) do mesice max.

60k blackbox radku neco mezi tim


Karel

Odpověď je, že to závisí na tom kódu. Navíc informace "o 60k řádcích" je zcela irrelevantní, ten čas vůbec nezávisí na tom, kolik těch řádků je. Leda byste tím "naučit se codebase" měl na mysli naučit se to nazpaměť. Obvykle se tím ale myslí "naučit se ji číst". To nezáleží na její velikosti, ale na úrovni dokumentace a dodržování standardů.

Měl jsem kdysi problém s něčím, co nemělo celkem ani 10 tisíc řádků - byla to past vedle pasti. A pak jsem dělal s něčím, co mělo přes milion řádků, a s tím problém naopak nebyl žádný.

Pokud je kód bez dokumentace, plný hacků, každá procedura je psaná jinak a i po týdnu člověk zažívá momenty překvapení, pak je to problém. Pokud to je kód ke kterému jsou UseCase diagramy, Class diagramy, uživatelská dokumentace, UnitTesty, metody i třídy mají rozumná jména, dodržují se nějaké standardy* atd., pak sebevětší program není problém. To, co právě v tu chvíli potřebujete, si prostě nastudujete během pár hodin. Že je to ERP systém s 50 moduly v tu chvíli nečiní potíže. Během pár měsíců se to naučíte číst a hledat a pak už to jde samo.

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
já bych jako kritérium volil, jestli codebase je rozdělená na moduly, má jasnou strukturu nebo naopak to je jeden monolit. Pokud se bude moci postupně do toho dostávat a studovat modul po modulu, případně API FW, čas bude mnohem kratší, těžko předpokládat, že rovnou bude spravovat všechny moduly najednou.

Pokud to je ale monolit a potřebuji pro drobnou údržbu vědět vesměs o všem, klidně čas počítej na roky.

Stejně tak záleží jestli daný junior už umí ten programovací jazyk (či jazyky) nebo se je při tom bude muset učet.

Dělal jsem PR do Firefoxu, ač má stovky tisíc řádků, úprava mi trvala pár hodin. Potřeboval jsem upravit C aplikaci (cca 2 tisíce řádků), pracoval jsem na to několik týdnů. Z údajů, které jsi poskytl není možné ti dát jasnou odpověď.

Jedna spoluzacka se na stredni naucila celeho Vodnika. To ma odhadem taky tak 30k řádků :-)
Děkuji za možnost editace příspěvku.