Pri mem prvnim pokusu o praci v oboru po me chteli abych jim pomoci Javy a JPA naprogramoval jednoduchou kartoteku fotbalovych hracu. Ale protoze jsem byl v te dobe ucho co nic neumelo, tak jsem se nato vyprdnul.Pri mem dalsim pokusu jsem psal test primo na pohovoru, kde jsem dostal papir s otazkami jak teoretickymi, tak praktickymi. Byly tam otazky napr. na abstraktni tridy + napsat kod. Byly tam otazky na SQL, joinovani tabulek a zase, napsat kus kodu podle zadani.Byl to takovy filter pro to, aby se s tebou vubec bavili. Aby zjistili, ze mas alespon tuseni o tom o cem je ta prace a mas alespon nejake predpoklady. Pak prisel pohovor, 2. kolo, kde jsme se bavili abstraktne o ruznych problematikach a jak bych je resil. Napr. pokud mam webovku, kde potrebuju vytvorit formular pro zadani adresy, jakou HTTP metodu pouziju (vim, z dnesniho pohledu je to trivialni, ale plno respondentu ani netusilo ze nejake HTTP metody jsou :) ). No nakonec mi rekli ze asi z 90 lidi nas berou 5, ze zbytek bud nema znalosti, nebo si je nemohou dovolit (meli vysoke naroky na plat)U me neresili kvalitu kodu, respektive se nijak nezminovali. Ale to bude nejspise tim, ze oni meli svoje vlastni standardy, ktere po tobe pak vyzadovali. Takze jestli jsem byl zvykly nedelat za jednoduchym IF zavorky {}, tak tam jsem musel.Predpokladam, ze jsi junior. Pokud se jedna o praci, kde se delaji weby, osobne bych ukazal nejakou kostru jednoducheho projektu, ktery znazorni vsechny 3 vrstvy MVC. Napr zminena kartoteka fotbalistu. Bude ti nato s odhadem stacit 4 jednoduche tridy (trida hrac, trida controller - co ti prijme pozadavek na zobrazeni stranky popripade akce od uzivatele jako pridej hrace (muze obsahovat validace vstupu, napr. jmeno hrace musi byt vyplnene), servisni trida pro pridani hrace do kartoteky (zde muzes pridata nejakou jednoduchou business logiku, napr. ze hrac musi byt starsi 18 let, aby sel pridat do kartoteky),… vypis seznamu hracu atd, a persistentni trida, ktera se bude starat o uloziste - pro tvuj pripad to muze byt klidne nejaka inmemory varianta, treba obyc pole) a 2 webove stranky (1 zobrazi seznam vsech hracu, 2. zobrazo formular pro pridani hrace).Doporucuju nepojmenovavat promenne, nazvy trid a vubec cokoliv ceskymi nazvy. Pouzij anglictinu. Nepouzivej Copy&Paste. Dnesni nastroje na statickou analyzu to odhali ;). Vyvaruj se univerzalnim metodam/funkcim (ovsem abstrakce neni k zahozeni). Pravidlo jedna metoda/funkce dela pouze jednu vec. Stejne tak trida. Jedna trida prdstavuje jeden objekt, a dela pouze jednu vec v kontextu objektu, ktery ta trida predstavuje. Takze kdyz budes mit tridu napr Car, tak tam nebudes mit metody na vypocet vzdalenosti a spotreby z bodu A do bodu B. Pokud se chces blejsknout, tak pridej komentare k metodam, co delaji (tam kde to ma smysl, gettry a settry komentovat nemusis :)). A cim urcite potesis bude nejaky automaticky test (pokud se jedna o Javu tak JUnit, napr. na to, ze konrola plnoletosti hrace funguje sprave a skutecne nejde ulozit hrace mladsiho ). Ukázat celý příspěvek