Dalším častým problémem je asynchronní kód. Zde klasické breakpointy často nefungují podle představ, protože se běh kódu přesouvá mezi callbacky a promise. V takovém případě využijte funkci „Pause on exceptions” v panelu Sources, která zastaví běh při jakékoli výjimce. Nebo nastavte breakpoint uvnitř asynchronní funkce – prohlížeč se zastaví ve chvíli, kdy se tato část kódu skutečně vykoná. Pozor si dejte na uzavření (closure) – pokud ladíte funkci, která používá proměnné z vnějšího rozsahu, ujistěte se, že sledujete správný rozsah, jinak se může stát, že hodnota, kterou vidíte, není ta, kterou očekáváte.
Přenos tokenu musí probíhat výhradně přes zabezpečený kanál. Používejte HTTPS a token zasílejte v autorizační hlavičce, nikoli v URL nebo v těle požadavku. Hlavička typu Authorization s hodnotou Bearer je standardní a snadno zpracovatelná. Nikdy token neukládejte do localStorage na straně klienta, protože je zranitelný vůči XSS útokům. Lepší je použít HttpOnly cookie, která je přístupná pouze přes HTTP a není čitelná JavaScriptem. Při práci s cross-origin požadavky nastavte správně CORS, aby token nemohl být použit z jiné domény.
Důležité je také formálně správné uvedení licence v repozitáři. Nestačí jen přidat soubor s textem licence do složky. Měli byste do každého zdrojového souboru uvést hlavičku s odkazem na licenci a autorem. To usnadní budoucí správu a právní průhlednost. Vyhněte se vytváření vlastních licencí – většinou nejsou právně ošetřené a odrazují potenciální přispěvatele. Místo toho zvolte standardní, ověřenou licenci, která má jasně definovaná pravidla.
Práce s breakpointy a krokováním kódu Nejefektivnější způsob, jak pochopit, co se v kódu děje, je zastavit jeho běh v přesně určeném místě. Otevřete DevTools (obvykle klávesou F12 nebo přes kontextovou nabídku) a přejděte do záložky Sources. Zde najdete všechny načtené skripty. Kliknutím na číslo řádku nastavíte breakpoint – červená značka označuje místo, kde se běh zastaví. Poté už jen obnovíte stránku a kód se zastaví přesně tam, kde potřebujete. V tuto chvíli můžete najet myší na proměnnou a zobrazit její aktuální hodnotu, nebo použít panel Scope pro sledování všech lokálních i globálních proměnných. Krokování (Step over, Step into, Step out) vám umožní procházet kód řádek po řádku. Dejte si pozor na to, abyste omylem nekrokovali do externích knihoven – to vás jen zdrží. Pomocí pravého tlačítka na breakpointu můžete nastavit podmínku, takže se zastaví pouze tehdy, když je splněna určitá logická podmínka.
Prvním krokem je rozdělení rolí. Produktový vlastník (product owner) má na starosti prioritizaci backlogu a komunikaci se zákazníkem. Scrum master není manažer, ale kouč, který odstraňuje překážky. Tým se skládá z vývojářů, testerů a případně i analytiků. Typická chyba českých firem je, že scrum mastera jmenují z řad programátorů, kteří pak dělají obojí. Tím trpí obě role. Pokud máte malý tým, zkuste outsourcovat roli scrum mastera někomu zkušenému, nebo si najděte interního člověka, který nebude psát kód.
Nejčastější chyby při výběru licence Jednou z nejčastějších chyb je použití licence bez pochopení jejích podmínek. Například GPL je silný copyleft a pokud ji použijete v knihovně, může to odradit komerční vývojáře, kteří by jinak váš kód rádi využili. Naopak u API nebo malých utilit je permisivní licence často výhodnější. Dalším problémem je kombinování licencí – pokud do projektu přidáte kód pod GPL a váš hlavní kód je pod MIT, celý projekt může být ovlivněn. Vždy si ověřte kompatibilitu použitých knihoven.
Samostatná kapitola je technický dluh. Scrum vám dá sice do rukou nástroj, jak řídit požadavky, ale nezachrání vás před špatnou architekturou. V českém prostředí se často stává, že tým jede v rychlých sprintech, ale kód je neudržovatelný. Řešení spočívá v tom, že si každý sprint vyhradíte čas na refaktoring a testování. Třeba každý čtvrtý den sprintu věnujte čištění kódu. Není to luxus, ale nutnost, pokud chcete dlouhodobě dodávat rychlost.
Základy, které musíte zvládnout, než půjdete dál Než se pustíte do složitějších funkcí, osvojte si práci s aktivitami a životním cyklem. Každá obrazovka v Androidu je aktivita a musíte vědět, kdy se vytváří, pozastavuje nebo ničí. Dalším nezbytným tématem jsou takzvané „intenty” – slouží k přechodu mezi obrazovkami nebo předávání dat. Zkuste si vytvořit aplikaci se dvěma obrazovkami, která po stisknutí tlačítka předá text do druhé aktivity. Tím získáte jistotu v základech, na kterých staví celá platforma.
If you have any thoughts pertaining to wherever and how to use více detailů, you can speak to us at the web site.
