<?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=Gregg760215177</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=Gregg760215177"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/Gregg760215177"/>
	<updated>2026-10-13T00:31:15Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Kdy%C5%BE_aplikaci_pokr%C3%BDv%C3%A1te_testy,_je_%C4%8Das_ji_vypustit_ven&amp;diff=455698</id>
		<title>Když aplikaci pokrýváte testy, je čas ji vypustit ven</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Kdy%C5%BE_aplikaci_pokr%C3%BDv%C3%A1te_testy,_je_%C4%8Das_ji_vypustit_ven&amp;diff=455698"/>
		<updated>2026-10-11T15:08:07Z</updated>

		<summary type="html">&lt;p&gt;Gregg760215177: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pokrytí není totéž co kvalita Stoprocentní pokrytí řádků často znamená jen to, že se každý řádek alespoň jednou spustil. Netvrdí nic o tom, zda testy ověřují správné chování. Testy, které jen procházejí kódem bez kontroly výstupů, jsou dražší než žádné testy — vytvářejí falešný pocit bezpečí. Sledujte raději pokrytí větví a podmínek, ne jen řádků. A hlavně: každý test musí mít jasné očekávání, které při chybě selže. Pokud test neumí selhat, není to test.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Akce navrhujte jako malé, konkrétní události, ne jako univerzální příkazy. Místo jedné akce UPDATE s obřím payloadem použijte itemAdded, itemRemoved a itemUpdated. Reducer pak zůstane čitelný a testovatelný. U složitějšího stavu se osvědčil vzor slice: jeden soubor obsahuje počáteční stav, akce i reducer pro jednu doménu. Nesnažte se ale vytvořit jeden slice pro celou aplikaci, jinak se vrátíte k monolitickému reduceru, kterému nikdo nerozumí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Poslední pravidlo se týká komunikace. Větve, které na sebe navazují, držte krátké a slučujte v pořadí, v jakém vznikaly. Pokud dvě větve mění stejné místo, domluvte se předem, kdo sloučí první, a teprve pak upravte tu druhou. Větvení není jen technická operace, ale dohoda mezi lidmi. Když pravidla platí pro všechny stejně, přestane být slučování stres a stane se rutinou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Po nasazení testy nekončí. Přidávejte je k chybám, které se skutečně staly. Každý incident je zadání pro nový test. Sledujte, které testy padají často a zbytečně — ty je lepší upravit nebo smazat. Testovací sada má být živá, ne archivní. Až začnou být testy pro váš tým přítěží, je čas je protřídit, ne přestat testovat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kde se to láme: kultura a zodpovědnost Druhá a nejčastější chyba je rozdělení na „my&amp;quot; a „oni&amp;quot;. Vývojový tým hodí kód přes zeď a provozní tým ho má rozchodit. Dokud tato hranice existuje, žádná automatizace nepomůže. DevOps znamená, že za běh služby odpovídá i ten, kdo ji napsal. To neznamená, že každý musí umět vše, ale že se nikdo neukrývá za větu „to není moje&amp;quot;. Zaveďte společné schůzky, kde se mluví o incidentech bez hledání viníka. Pište společně dokumentaci k nasazení. Malé kroky, ale musí být vidět, že je děláte spolu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kdy je tedy čas pustit aplikaci ven? Ve chvíli, kdy máte pokryté všechny kritické cesty, když testy procházejí na čistém prostředí a když víte, co se stane při chybě. Není potřeba čekat na dokonalé pokrytí. Nasadit se dá i s menším počtem testů, pokud máte monitoring, rollback a rychlý způsob, jak opravit chybu. Naopak bez testů a bez možnosti rychle reagovat je vypuštění ven hazard.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktický přístup je začít od kritických cest. Přihlášení, platba, uložení dat, změna oprávnění. Tyto části potřebují testy na úrovni integrace, protože chyby v nich mají přímý dopad na uživatele. Pomocné funkce a utilitky stačí pokrýt jednotkovými testy. Neplýtvejte časem na testování kódu, který se brzy změní nebo zmizí. Testy u takového kódu zestárnou dřív než kód sám.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Čistý kód v JavaScriptu nepoznáte podle toho, že funguje. Fungovat může i změť funkcí, které se navzájem volají přes globální proměnné. Čistý kód poznáte podle toho, že ho za půl roku pochopíte i vy sám, a že ho bez obav upraví někdo jiný. Rozdíl mezi čitelným a nečitelným kódem přitom není v délce ani v použitém frameworku. Je v rozhodnutích, která děláte při psaní každé funkce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Poslední rada: nezačínejte celou transformací najednou. Vyberte jednu službu, jeden tým a jeden problém, který vás bolí. Změřte, jak je na tom nyní. Zaveďte jednu změnu – třeba společný chat pro incidenty nebo automatické testy. Po týdnu zkontrolujte, zda to pomohlo. Teprve pak přidávejte další. DevOps je běh na dlouhou trať, ne sprint. Kdo to zkusí přeskočit, většinou skončí s hromadou nástrojů a stejně pomalým nasazením.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Větve pojmenovávejte podle účelu, ne podle jména autora. Formát jako typ/issue-strucny-popis (např. feat/platby-refund nebo fix/prihlaseni-timeout) drží pořádek i ve chvíli, kdy je v repozitáři otevřených větví dvacet. Před vytvořením větve vždy aktualizujte hlavní linii a teprve z ní odbočte. Větev vytvořená ze zastaralého stavu přináší konflikty, které nemají nic společného s vaší prací, a jejich řešení zabere čas, který jste mohli věnovat funkci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testy nejsou cíl, ale nástroj. Přestanou být užitečné ve chvíli, kdy začnou brzdit vývoj rychleji, než odhalují chyby. Aplikace bez testů se ale nedá bezpečně nasadit. Proto je potřeba hledat hranici, kdy je pokrytí dostatečné a kdy nastal čas pustit aplikaci mezi uživatele. Tato hranice není univerzální, závisí na typu projektu, kritičnosti chyb a rychlosti, s jakou se mění požadavky.&lt;/div&gt;</summary>
		<author><name>Gregg760215177</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:Gregg760215177&amp;diff=455694</id>
		<title>Benutzer:Gregg760215177</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:Gregg760215177&amp;diff=455694"/>
		<updated>2026-10-11T15:08:05Z</updated>

		<summary type="html">&lt;p&gt;Gregg760215177: Die Seite wurde neu angelegt: „Autor blogu praktickým bydlením se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejvíc mě baví hledat cesty, jak si usnadnit život.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejvíc mě baví hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>Gregg760215177</name></author>
	</entry>
</feed>