První kroky při tvorbě aplikací pro Android

Aus MeinWiki
Version vom 21. August 2026, 21:50 Uhr von HACJoie62052 (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Jak se vyhnout častým chybám při výběru Častým omylem je použití licence bez ohledu na to, When you loved this article and you wish to receive more information relating to Citiesofthedead.net please visit the web site. jaké knihovny či komponenty z vašeho projektu závisí. Pokud používáte knihovny pod licencí GPL, může to „nakazit" celý váš projekt, pokud tedy neoddělíte části s různými licencemi do samostatných souborů. Proto si před výběrem projděte veškeré závislosti a zjistěte, zda jejich licence neomezuje tu vaši. Například kombinace GPL a komerčního softwaru je možná, ale pouze pokud striktně oddělíte kód podle licence – to ale není praktické rady pro rekonstrukci menší projekty.

Typickým praktickým problémem bývá i příliš mnoho dat v samotném tokenu. Do payloadu patří jen minimální identifikátory (např. ID uživatele, role, případně oprávnění), ne osobní údaje či citlivé informace. Token se totiž přenáší v každém požadavku a může být zachycen. Pokud potřebujete podrobnější údaje, načtěte je až na serveru podle ID. Velikost tokenu také ovlivňuje výkon – čím kratší, tím menší režie při každém volání API.

Základním krokem je rozdělit stav podle domén. Místo jednoho objektu asyncState s deseti klíči pro různé požadavky použijte samostatné slice pro každou logickou oblast, například user, products nebo notifications. V každém slice pak udržujte čistá data, nikoli informace o tom, že se něco děje. Pro kontrolu průběhu asynchronní operace je vhodné vytvořit malý pomocný stav – typicky status s hodnotami idle, loading, succeeded a failed, plus pole error rady pro rekonstrukci chybové hlášky. Tento vzor, inspirovaný doporučením z oficiální dokumentace Reduxu, je jednoduchý a snadno rozšiřitelný.

Pravidelné spouštění testů a sledování pokrytí kódu vám pomůže odhalit slabá místa. Nebuďte ale posedlí stoprocentním pokrytím – důležitější je testovat kritické a složité části aplikace. NUnit nabízí také možnost seskupit testy do kategorií, které pak můžete selektivně spouštět, což se hodí při rozsáhlých projektech. Osvojte si tyto návyky a testování se stane přirozenou součástí vašeho vývoje, nikoli nutným zlem.

Pro samotné ověřování výsledků NUnit nabízí třídu Assert. Používejte její moderní verzi s constraint syntaxí, která je čitelnější a poskytuje lepší chybové hlášky. Například místo Assert.AreEqual(5, result) napište Assert.That(result, Is.EqualTo(5)). Pro porovnávání desetinných čísel nezapomeňte na toleranci, jinak test selže kvůli zaokrouhlovacím chybám. Podobně při práci s kolekcemi používejte Is.EquivalentTo pro porovnání obsahu bez ohledu na pořadí.

Pro komerčně přátelské projekty je vhodná mírná licence, jako je například MIT nebo BSD. Tyto licence umožňují téměř libovolné použití, včetně začlenění do placeného softwaru, a to za předpokladu, že zachováte původní copyright a licenční text. Pokud chcete, aby kdokoli mohl váš kód použít, ale nechcete řešit právní složitosti, sáhněte po takzvaných permisivních licencích. Naopak pro projekty, kde chcete, aby odvozená díla zůstala otevřená, zvolte licenci copyleftovou, typicky GPL. Ta vyžaduje, aby každý, kdo váš kód šíří, poskytl i zdrojový kód svých úprav a to pod stejnou licencí.

Prvním krokem je volba správného algoritmu pro podpis. Vždy používejte asymetrické šifrování, například RS256, kdy soukromý klíč zůstává na serveru a veřejný klíč se distribuuje ověřovacím službám. Vyhněte se algoritmu HS256 v prostředí, kde je více nezávislých mikroslužeb – sdílení jednoho tajemství mezi všemi službami zvyšuje riziko jeho úniku. Pokud už HS256 používáte, zajistěte, aby bylo tajemství dlouhé, náhodné a uložené v bezpečnostním trezoru, ne v konfiguračním souboru či v repozitáři.

Při testování kódu, který pracuje s externími zdroji (databáze, souborový systém, HTTP), vždy použijte falešné objekty nebo rozhraní. Testy, které závisí na skutečné službě, jsou křehké a pomalé. Pro vkládání falešných závislostí se hodí injektování rozhraní do konstruktoru testované třídy. V testech pak předávejte jednoduché implementace nebo použijte knihovnu pro vytváření mocků, ale i bez ní se obejdete vytvořením vlastních testovacích stubů.

Nejčastější chyby a jak se jim vyhnout Častým omylem je testovat více než jednu věc v rámci jedné metody. Pokud test selže, nemáte jistotu, která část kódu je rozbitá. Rozdělte takové testy na menší, nezávislé jednotky. Další častou chybou je závislost testů na pořadí provedení nebo na sdíleném stavu. NUnit spouští testy paralelně v rámci sestavení, proto každý test musí být izolovaný. Pro nastavení výchozího stavu používejte atributy [SetUp] a [TearDown], ale nikdy nepředpokládejte, že stav z předchozího testu stále existuje.