Co se stane, když začnete s Androidem bez plánu
Pokrytí testy je oblíbená metrika, ale jen málokdo ví, jak ji správně měřit. Většina týmů se zaměří na procento řádků, které testy projdou, a zapomene, že číslo samo o sobě neříká nic o kvalitě testů. Když se pokrytí blíží sto procentům, může to vypadat skvěle, ale ve skutečnosti to často znamená, že testy jsou povrchní a netestují klíčové scénáře. Jak tedy měřit pokrytí správně a kdy přestat honit čísla?<br>
<br>
<br>
<br>
Základním kamenem je jazyk a nástroje. Pro začátek si vystačíte s Kotlinem, který je modernější a méně ukecaný než Java. Naučte se, jak fungují korutiny pro asynchronní práci a jak vypadá architektura s ViewModelem a LiveData. Nepouštějte se hned do komplikovaných knihoven třetích stran – nejdřív si osvojte čistý Android SDK. Doporučuji psát si vlastní malé projekty, kde si vyzkoušíte práci s RecyclerView, dialogy a životním cyklem. Vyhněte se opisování kódu z tutoriálů bez pochopení – to je nejrychlejší cesta k tomu, že vlastní aplikaci nerozchodíte.<br>
<br>
<br>
<br>
Při vývoji pro Android se nevyhnete testování na emulátoru. Nezapomínejte, že emulátor neodpovídá přesně chování reálného zařízení – rozdíly jsou v rychlosti, paměti i v chování senzorů. Proto si pořiďte levný fyzický telefon s čistým systémem a testujte na něm každou větší změnu. Pozor na oprávnění: pokud vaše aplikace žádá přístup k poloze nebo kontaktům, vysvětlete uživateli, proč to potřebujete, a to ještě před žádostí. Jinak ji mnozí odmítnou a vaše aplikace se stane nepoužitelnou.<br>
<br>
<br>
<br>
Pro práci s tabulkami a daty využijete knihovnu pandas. Není součástí základní instalace, takže ji musíte doinstalovat přes správce balíčků. Nejčastější postup je příkaz pip install pandas v terminálu. Tato knihovna umí načíst excelový soubor, projít jednotlivé řádky, provést výpočty a výsledek uložit zpět. Pozor na to, že pandas vyžaduje, aby byl soubor zavřený v jiném programu – když ho máte otevřený v excelu, skript skončí chybou. Stejně tak dejte pozor na kódování souboru, ideální je UTF-8, jinak se vám v datech objeví místo českých znaků otazníky.<br>
<br>
<br>
<br>
Než otevřete vývojové prostředí, mějte jasno v tom, co vlastně chcete postavit. Bez cíle skončíte u nekonečného přepisování kódu a opouštění projektů. Začněte jednoduchou aplikací, která řeší jeden konkrétní problém – třeba evidenci výdajů nebo poznámky s tagy. Takový rozsah zvládnete za pár týdnů a naučíte se základy životního cyklu aktivity, layoutů a ukládání dat. Pokud cílíte na složitou aplikaci hned napoprvé, připravte se na frustraci a časté restarty.<br>
<br>
<br>
<br>
Základní metrikou je řádkové pokrytí, které zjistíte pomocí nástrojů, jež sledují, které řádky kódu byly při běhu testů spuštěny. Toto číslo je snadné získat, ale má zásadní nedostatek – neříká, jestli byly testy skutečně efektivní. Můžete mít sto procent pokrytí a přitom testovat jen happy path, zatímco chyby v edge casech zůstanou neodhalené. Proto byste měli vždy kombinovat řádkové pokrytí s pokrytím větví (branch coverage), které kontroluje, jestli byly projity všechny podmínky, a s pokrytím funkcí, které sleduje, zda byly volány všechny veřejné metody.<br>
<br>
<br>
<br>
Poslední rada: publikování není konec, ale začátek. Připravte si podklady pro obchod – popis, grafiku a ikonu. Všímejte si recenzí a zpětné vazby, ale nenechte se zlomit kritikou. Každý update by měl opravovat chyby a přinášet malá vylepšení, ne zásadní přepisování. Pokud se budete držet tohoto postupu, zjistíte, že vývoj pro Android je řemeslo, které se učí praxí – a první aplikaci budete mít hotovou dřív, než čekáte.<br>
<br>
<br>
<br>
Když se rozhodnete naučit programovat, C# je volba, která vás nezradí. Než otevřete vývojové prostředí, ujasněte si, co chcete vytvořit. Nejlepší start představuje konzolová aplikace – program, který běží v okně příkazového řádku. Nepotřebujete žádné grafické rozhraní, složité knihovny ani databáze. Stačí vám textový editor a překladač. První projekt vytvoříte během pěti minut, ale pozor: i jednoduchý program skrývá nástrahy, které začátečníky typicky zaskočí.<br>
<br>
<br>
<br>
Při práci s databází nebo soubory se vyhněte reálným závislostem. Místo toho použijte rozhraní a vytvořte si falešné implementace nebo použijte mockovací knihovnu. Pokud testujete metodu, která ukládá do databáze, nechte ji pracovat s in-memory databází nebo s dočasnými soubory, které po testu smažete. Jinak se vaše testy stanou pomalé a nespolehlivé, protože jejich výsledek závisí na stavu prostředí. Navíc, pokud testy běží paralelně, může dojít ke konfliktům mezi soubory či záznamy.<br>
<br>
<br>
<br>
Další častou oblastí je automatizace e-mailů nebo formulářů. Zde se vyplatí použít knihovny jako smtplib pro posílání zpráv nebo selenium pro práci s webovým prohlížečem. Selenium ovládá prohlížeč stejně jako člověk – dokáže najít tlačítko, kliknout na něj nebo vyplnit textové pole. Je to výkonný nástroj, ale vyžaduje trpělivost, protože musíte znát strukturu stránky. Pro začátek je lepší zkusit jednodušší věci, než se pustíte do ovládání webu. Když se ale naučíte základní příkazy, otevře se vám možnost automatizovat i činnosti, které by ručně zabraly celé hodiny.





