První práce vývojáře: typická chyba, která vás stojí nabídku

Druhým klíčovým opatřením je striktní validace vstupů. Nikdy nevěřte uživatelským datům. Ověřte, že vstup odpovídá očekávanému formátu – číslo musí být číslo, e-mail musí mít správnou strukturu. Používejte whitelist povolených znaků a odmítejte vše ostatní. Vyvarujte se pouhému escapování speciálních znaků, protože tato metoda je náchylná na chyby a v některých kontextech je nedostatečná. Raději kombinujte validaci s parametrizací.<br> <br> <br> <br> <img src="https://freestocks.org/fs/wp-content/uploads/2016/08/two_men_discussing-1024x683.jpg" style="max-width:400px;float:right;padding:10px 0px 10px 10px;border:0px;">Poslední zásada se týká pravidelné aktualizace a testování. Udržujte framework, databázové ovladače a knihovny v nejnovějších verzích, protože opravují známé zranitelnosti. Pravidelně provádějte penetrační testy a skenujte aplikaci automatizovanými nástroji. Ještě lepší je zavést bezpečnostní testy přímo do vývojového procesu. Při code review se zaměřte na místa, kde se pracuje s databází, a kontrolujte, zda jsou všechny dotazy parametrizované.<br> <br> <br> <br> Jak poznáte, že jste na pohovoru připraveni? Připravenost nepoznáte podle toho, že znáte odpověď na každou otázku. Poznáte ji podle toho, že si umíte poradit, když odpověď neznáte. Na pohovoru se vždy zeptejte na architekturu projektu nebo na to, jak tým řeší code review. To jsou konkrétní věci, které vám napoví, jak vypadá reálná práce. Pokud vám odpoví vyhýbavě, je to varovný signál. Dobrý tým vám rád vysvětlí, s čím pracuje a proč. Vy se pak můžete zeptat na to, co vás skutečně zajímá, a tím ukázat, že nad projektem přemýšlíte v souvislostech.<br> <br> <br> <br> <strong>Co se stane, když podceníte</strong> správu závislostí Jakmile začnete přidávat knihovny pro práci se sítí nebo databází, přichází první velká překážka: konflikty verzí. Typická chyba je přidat knihovnu podle vzoru z internetu bez kontroly, zda odpovídá vaší verzi Androidu a minSdk. Výsledkem je pak chyba, že aplikace padá hned po spuštění, nebo dokonce neprojde kompilací. Aby se to nestalo, vždy čtěte dokumentaci knihovny a sledujte, jakou minimální verzi systému vyžaduje. Pokud váš projekt má nižší minSdk, buď ji zvyšte, nebo knihovnu nechte na později. Také se vyhněte zbytečným knihovnám – každá zvyšuje velikost aplikace a prodlužuje čas kompilace.<br> <br> <br> <br> Než otevřete vývojové prostředí, rozhodněte se, jakou cestou se vydáte. Nejrozšířenější je Kotlin, který je moderní a stručný, ale pro úplného začátečníka může být matoucí kvůli syntaxi, která skrývá mnoho detailů. Já osobně doporučuji začít s Javou – má obrovské množství starších tutoriálů a chybové hlášky jsou srozumitelnější. Když pochopíte základy objektového přístupu v Javě, přechod na Kotlin pak trvá pár dní. Naopak pokud začnete přímo Kotlinem, riskujete, že nebudete rozumět, proč některé věci fungují tak, jak fungují.<br> <br> <br> <br> Nakonec si dejte pozor na to, abyste nekopírovali kód bez porozumění. Často se stává, že někdo vezme ukázku z fóra, která sice funguje, ale dělá něco úplně jiného, než potřebujete. Vždy si každý řádek přečtěte a zkuste ho vysvětlit nahlas. Pokud to nejde, vraťte se k dokumentaci a zjistěte, co daná třída nebo metoda dělá. Vývoj pro Android je běh na dlouhou trať, ale když začnete s pevným základem a budete se vyhýbat typickým nástrahám, tak první verzi aplikace dokončíte mnohem dřív, než byste čekali.<br> <br> <br> <br> Když už máte první obrazovku, začněte s životním cyklem aktivity. Mnoho začátečníků dává veškerou logiku do metody onCreate, což je chyba, protože při otočení zařízení se aktivita znovu vytvoří a vy ztratíte stav. Naučte se používat ViewModel a LiveData, i když to ze začátku vypadá složitě. Bez toho narazíte na situace, kdy aplikace při změně orientace ztratí načtená data a uživatel musí všechno dělat znovu. Často se to stává při načítání ze sítě – zobrazíte loading, pak otočíte telefon a místo dat vidíte prázdnou obrazovku.<br> <br> <br> <br> Druhým krokem je nastavit si projekt správně hned od začátku. Vytvořte si prázdný projekt s prázdnou aktivitou, ne s šablonami, které generují zbytečný kód. Už od prvního dne si zvykněte na verzovací systém, ideálně git, a každou funkční změnu commitujte. Když to neuděláte, po třech dnech práce narazíte na chybu, kterou nebudete schopni vrátit zpět, a to vás bude stát hodiny hledání. Důležité je také používat emulátor – fyzické zařízení je sice rychlejší, ale emulátor vám umožní testovat různé velikosti obrazovek a systémové verze.<br> <br> <br> <br> Další past, do které začátečníci spadají, je přeceňování kvantity. Pět mini-projektů z tutoriálů na vašem GitHubu působí dojmem, že jen opisujete cizí kód. Jeden funkční projekt, který sami navrhnete a nasadíte, má desetkrát větší váhu. Nebojte se přiznat, co nefunguje nebo co jste museli přepsat. Firmy oceňují, když vidí vaši schopnost iterovat a zlepšovat se. Právě vaše chyby a jejich oprava jsou to, co vás odliší od stovek dalších uchazečů.