<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OsvaldoLaidlaw</id>
	<title>IT-Core - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OsvaldoLaidlaw"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/OsvaldoLaidlaw"/>
	<updated>2026-09-05T05:05:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=5_z%C3%A1sad,_d%C3%ADky_kter%C3%BDm_v%C3%A1%C5%A1_API_dokument_p%C5%99e%C5%BEije_prvn%C3%AD_kontakt_s_frontendem&amp;diff=198976</id>
		<title>5 zásad, díky kterým váš API dokument přežije první kontakt s frontendem</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=5_z%C3%A1sad,_d%C3%ADky_kter%C3%BDm_v%C3%A1%C5%A1_API_dokument_p%C5%99e%C5%BEije_prvn%C3%AD_kontakt_s_frontendem&amp;diff=198976"/>
		<updated>2026-08-29T04:42:04Z</updated>

		<summary type="html">&lt;p&gt;OsvaldoLaidlaw: Created page with &amp;quot;Plánování projektu B2B se často soustředí na harmonogram, rozpočet a výběr technologií. To jsou důležité stavební kameny, ale samy o sobě nezaručí, že výsledek bude skutečně použitelný a přinese obchodní hodnotu. Klíčem je pochopit, že B2B projekt nekončí předáním výstupu, ale začíná u reálného problému, který má řešit. Pokud se tento problém nevyjasní hned na začátku, všechna následná rozhodnutí budou stavěna na písk...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plánování projektu B2B se často soustředí na harmonogram, rozpočet a výběr technologií. To jsou důležité stavební kameny, ale samy o sobě nezaručí, že výsledek bude skutečně použitelný a přinese obchodní hodnotu. Klíčem je pochopit, že B2B projekt nekončí předáním výstupu, ale začíná u reálného problému, který má řešit. Pokud se tento problém nevyjasní hned na začátku, všechna následná rozhodnutí budou stavěna na písku.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když už víte, co do store patří, je klíčové správně používat selektory. Častým zlozvykem je předávat komponentě celý objekt store a nechat ji, ať si z něj vybere, co potřebuje. To ale vede k tomu, že komponenta se znovu vykreslí při každé změně jakékoli části store, i když se její data nezměnila. Místo toho používejte selektory, které vrací konkrétní hodnotu nebo derivovaný stav. V Reactu s Reduxem se vyplatí kombinovat je s hookem useSelector, který automaticky porovnává předchozí a novou hodnotu. Pokud selektor vrací nový objekt pokaždé, když se store změní, docílíte opačného efektu – nekonečných rerenderů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je jednotné schéma odpovědí. Pokud každý endpoint vrací jinou strukturu – někdy objekt, jindy pole pod jiným klíčem – je to první zdroj chaosu. Domluvte se na společném obalu, třeba na objektu s poli pro data, chybu a metadata. Tento obal pak používejte všude. Do dokumentace zapište, že každá úspěšná odpověď má tvar data: ... a každá chyba error: code, message . Frontend si pak napíše jednu univerzální funkci na zpracování odpovědí a nemusí řešit výjimky pro každý endpoint zvlášť.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak začít: pravidlo čtyř vrstev Nemusíte hned testovat všechno. Začněte u jádra aplikace — tam, kde sídlí nejvíce byznys logiky. Napište nejdřív testy pro nejrizikovější části, ne pro triviální gettery. U jednotkových testů si dejte pozor na přehnané mockování: když musíte nastavit deset mocků, abyste otestovali jednu metodu, je to signál, že je kód příliš provázaný, ne že píšete dobré testy. Ideální jednotkový test má jasný vstup, deterministický výstup a nezávisí na datech z reálné databáze.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je tedy definice cíle, který je měřitelný a srozumitelný pro všechny zúčastněné. Místo obecného zadání typu „chceme zefektivnit komunikaci se zákazníky&amp;quot; si položte konkrétní otázky: Kterou činnost přesně zrychlujeme? O kolik procent? Jak poznáme, že jsme uspěli? Bez jasných metrik se tým snadno ztratí v subjektivních preferencích a projekt se začne vléct do nekonečna. Dobrým pomocníkem je jednoduchá tabulka, kde si každý oddíl zapíše očekávaný přínos – ať už jde o úsporu času, snížení chybovosti nebo zpřehlednění dat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak správně strukturovat akce a reducery, aby se aplikace nezacyklila Další oblast, kde se dělá hodně chyb, je návrh akcí a reducerů. Mnoho vývojářů píše reducery tak, že mění stav více úrovní do hloubky pomocí spread operátoru, ale zapomíná, že každá taková změna musí být neměnná. Pokud přímo změníte část stavu, Redux si toho nevšimne a aplikace se neaktualizuje. Proto vždy vytvářejte nové objekty a pole. Prakticky to znamená: místo abyste dělali state.items.push(newItem), vraťte nové pole rozšířené o novou položku. To je základ, ale pozor na to, že hluboká struktura stavu vyžaduje složité kopírování, které je náchylné na chyby. Řešením je normalizovat stav – držte data jako slovník podle id, ne jako vnořená pole.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když backend dodá rozhraní bez pořádné dokumentace, frontend vývojář stráví hodiny hádáním, co přesně endpoint přijímá a vrací. Výsledkem jsou zbytečné opravy, přepisování kódu a třecí plochy mezi týmy. Přitom stačí dodržet pár konkrétních pravidel, která práci s API změní z věštění na rutinu. Nejde o psaní románů, ale o strukturu, příklady a jasné definice – přesně to, co frontend potřebuje, aby mohl fungovat samostatně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při zavádění pyramidy se vyhněte dvěma extrémům. První je snaha pokrýt absolutně všechno testy — to vede k tomu, že strávíte více času údržbou testů než vývojem funkcí. Druhý extrém je testovat jen to, co je zrovna v módě, nebo co umíte. Dobrým kompromisem je nastavit si firemní směrnici: jednoduché funkce bez rizika nemusí mít testy vůbec, ale kritické výpočty a platební toky ano. Pak se vyplatí investovat do měření pokrytí, ale ne na úrovni řádků — sledujte pokrytí větví a rozhodovacích podmínek.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Samostatnou kapitolou je řízení změn. Požadavky se budou měnit – to je přirozené. Důležité je, jak změny zpracujete. Zaveďte si jednoduchý proces: každý nový požadavek se zapíše, zhodnotí jeho dopad na čas a cenu a teprve poté se rozhodne o prioritě. Pokud změnu odsouhlasíte bez posouzení dopadů, může se stát, že projekt skončí s měsíčním zpožděním a překročeným rozpočtem. Naopak pokud máte jasná pravidla, změny se stanou běžnou součástí práce, nikoli důvodem ke konfliktům. Vždy mějte na paměti, že rozsah je živý organismus, který potřebuje péči, ale i pevné hranice.&lt;/div&gt;</summary>
		<author><name>OsvaldoLaidlaw</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:OsvaldoLaidlaw&amp;diff=198972</id>
		<title>User:OsvaldoLaidlaw</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:OsvaldoLaidlaw&amp;diff=198972"/>
		<updated>2026-08-29T04:41:58Z</updated>

		<summary type="html">&lt;p&gt;OsvaldoLaidlaw: Created page with &amp;quot;Autor blogu praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejraději popisovat postupy krok za krokem.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejraději popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>OsvaldoLaidlaw</name></author>
	</entry>
</feed>