<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=YJUFredrick</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=YJUFredrick"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/YJUFredrick"/>
	<updated>2026-09-12T13:42:53Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy&amp;diff=166448</id>
		<title>Jak začít s pytestem a psát smysluplné testy</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Jak_za%C4%8D%C3%ADt_s_pytestem_a_ps%C3%A1t_smyslupln%C3%A9_testy&amp;diff=166448"/>
		<updated>2026-08-21T18:30:45Z</updated>

		<summary type="html">&lt;p&gt;YJUFredrick: Die Seite wurde neu angelegt: „Kdo chce dělat hry, často sahá po C# nebo Javě. Tyto jazyky jsou silně typované, což znamená, že musíte myslet na datové typy už od začátku. Je to sice náročnější, ale zase vás to donutí psát čistší kód. Pro začátek ale doporučuji zůstat u konzolových aplikací, ne hned skákat do herních enginů. Častý omyl je začít s Unity, aniž byste uměli napsat jednoduchou smyčku. Pak vás čeká frustrace, protože nebudete roz…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kdo chce dělat hry, často sahá po C# nebo Javě. Tyto jazyky jsou silně typované, což znamená, že musíte myslet na datové typy už od začátku. Je to sice náročnější, ale zase vás to donutí psát čistší kód. Pro začátek ale doporučuji zůstat u konzolových aplikací, ne hned skákat do herních enginů. Častý omyl je začít s Unity, aniž byste uměli napsat jednoduchou smyčku. Pak vás čeká frustrace, protože nebudete rozumět ani základům, ani tomu, co engine dělá za vás.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Obecně platí: vyberte si jeden jazyk a držte se ho alespoň tři měsíce. Přeskakování mezi jazyky je nejrychlejší cesta k tomu, že neumíte pořádně nic. Až budete schopni napsat malý projekt, třeba kalkulačku nebo správce úkolů, teprve pak zkuste něco jiného. Nejdůležitější je konzistence, ne výběr „dokonalého&amp;quot; jazyka. I když zvolíte „špatně&amp;quot;, později se naučíte další jazyk mnohem rychleji, protože logika je všude podobná.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když pracujete na více feature větvích současně, verzování kódu se stává kritickým bodem. Bez správného systému snadno dojde ke konfliktům, ztrátě práce nebo neočekávaným chybám. Základem je oddělit každou funkci do vlastní větve, ale to samo o sobě nestačí. Klíčové je udržovat větve aktuální vůči hlavní vývojové linii, ideálně pomocí rebase místo merge, aby historie zůstala lineární a přehledná.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základní princip pytestu je jednoduchý: píšete funkce, které začínají slovem test_, a uvnitř nich používáte příkazy assert. Pytest sám najde všechny soubory a funkce podle konvence pojmenování. Nemusíte nic registrovat ani dědit z nějaké třídy. Stačí mít soubor s názvem třeba test_math.py a v něm funkci test_add(). Když spustíte pytest v adresáři projektu, projde všechny soubory, které odpovídají vzoru test_*.py nebo *_test.py, a spustí všechny funkce test_*.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro efektivní práci je vhodné použít feature flags – skryté přepínače, které umožní začlenit část kódu do hlavní větve, aniž by byl funkčně aktivní. Tím se vyhnete dlouhým žijícím větvím, které se obtížně slučují. Místo toho průběžně začleňujte malé části práce, ale funkci aktivujte až po dokončení a otestování. Tento přístup snižuje riziko konfliktů a usnadňuje code review.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dalším častým problémem je nedostatečná komunikace. Když dva vývojáři editují stejný soubor, konflikt je nevyhnutelný. Proto si v týmu nastavte pravidla, kdo pracuje na které části kódu. Využívejte nástroje pro sledování úkolů a přiřazování vlastnictví. Pokud přesto konflikt nastane, nebojte se komunikovat přímo s kolegou, který soubor upravoval – rychleji najdete společné řešení, než jen slepě mergovat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Největší úskalí při psaní prvních testů je práce s náhodnými hodnotami, s časem a s globálním stavem. Pokud funkce používá aktuální datum nebo náhodu, test může pokaždé vrátit jiný výsledek. Řešením je předat takové hodnoty jako parametry, případně použít injektování závislostí. Nikdy nespoléhejte na to, že test projde, i když jste ho spustili stokrát – pokud obsahuje náhodu, je to jen otázka času, kdy selže. Stejně tak se vyhněte testům, které mění soubory nebo databázi bez předchozího vyčištění. Test by měl být opakovatelný a měl by běžet stejně dobře na vašem počítači i na serveru.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si osvojte práci s vysvětlením plánu dotazu (EXPLAIN). Tento nástroj vám ukáže, jak databáze dotaz zpracovává, které indexy používá a kde dochází k sekvenčnímu procházení. Než optimalizujete, vždy se podívejte na tento výstup. Často zjistíte, že problém není v dotazu, ale v chybějícím indexu, který se tváří jako existující, ale ve skutečnosti se nepoužívá.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Závěrem: efektivní verzování při práci na více větvích spočívá v disciplíně a předvídavosti. Nastavte si pravidelné synchronizace, komunikujte s týmem, používejte feature flags a dbejte na malé commity. Vyhnete se tak zbytečnému stresu a práci navíc při složitých merge konfliktech. Osvojte si tyto návyky a práce s větvemi se stane rutinou, ne noční můrou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak psát testy, které dávají smysl Nejdůležitější je testovat chování, ne implementaci. Zaměřte se na to, co funkce dělá, ne na to, jak to dělá. Například místo testování, že funkce volá určitou metodu, ověřte, že vrací očekávaný výsledek pro daný vstup. Také je dobré testovat okrajové případy: prázdný seznam, nulu, záporná čísla, prázdný řetězec. Typická chyba začátečníků je testovat jen hlavní cestu, takže pak testy neodhalí chyby, které se objeví při neobvyklých vstupech.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si dejte pozor na dva časté nešvary. Za prvé: nevěřte těm, kdo tvrdí, že existuje jeden správný jazyk. Je to nesmysl. Za druhé: nepodceňujte základy algoritmizace. Můžete se naučit syntaktická pravidla tisíce jazyků, ale bez schopnosti rozložit problém na menší kroky nenapíšete nic užitečného. Začněte proto s jednoduchými úlohami, pište kód ručně, čtěte cizí kód a hlavně se nebojte chyb – ty jsou přirozenou součástí učení.&lt;/div&gt;</summary>
		<author><name>YJUFredrick</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:YJUFredrick&amp;diff=166447</id>
		<title>Benutzer:YJUFredrick</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:YJUFredrick&amp;diff=166447"/>
		<updated>2026-08-21T18:30:42Z</updated>

		<summary type="html">&lt;p&gt;YJUFredrick: Die Seite wurde neu angelegt: „Váš průvodce světem interiérů se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejraději hledat cesty, jak si usnadnit život.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce světem interiérů se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejraději hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>YJUFredrick</name></author>
	</entry>
</feed>