Testovací pyramida, o které většina týmů nepřemýšlí správně

Z Mazovia


Nakonec si ohlídejte i samotné spouštění. Chcete-li, aby workflow běžel i na pull requestech, zapište on: pull_request. Pro nasazení na produkci zase použijte on: push: branches: [main] a kombinujte to s ochranou větve — nikdo by neměl pushovat do main přímo, úLožNé Prostory V MaléM Bytě pokud to není nezbytné. Typická chyba je zapomenout na událost workflow_dispatch, která umožňuje spustit pipeline ručně z UI. Bez ní nemáte možnost si workflow otestovat bez reálného commitu.

Pátá situace: když potřebujete verzování a sledovatelnost změn. REST má jasnou strategii – můžete verzovat pomocí URL nebo hlaviček. GraphQL zase nabízí výhodu, že schéma je živý kontrakt, na kterém vidíte, která pole jsou deprecated. To usnadňuje postupnou migraci: klient přestane používat staré pole, vy ho označíte jako zastaralé a po nějaké době odstraníte. U REST se často stává, že vám někdo zapomene odstranit starou verzi endpointu, která pak visí roky. Pokud tedy plánujete dlouhodobý vývoj, GraphQL byt v panelákuás donutí přemýšlet o kompatibilitě. Lepší volbou ale není ani jedno řešení univerzálně – vždy záleží na velikosti a složitosti vašeho projektu.

Když se store rozroste, rozdělte ho na menší celky Jakmile máte v jednom reduceru deset různých částí stavu, začněte ho dělit. Můžete použít combineReducers – to je standardní způsob, jak rozdělit logiku podle domén, třeba uživatele, košík nebo filtry. Každý reducers by měl být zodpovědný za jednu oblast a měl by být co nejmenší. Tím se snižuje riziko konfliktů a usnadňuje testování. Pokud máte dva reducery, které potřebují sdílet data, zkuste je nejdřív spojit do jednoho, nebo použijte selektory, které data kombinují až při čtení – neukládejte do store to, co lze odvodit.

Při vývoji pro iOS si vždy nastavte testy hned na začátku projektu. Unit testy pro modely a integrační testy pro klíčové toky aplikace vám ušetří hodiny ladění. Xcode má vestavěné testovací prostředí, které spouští testy přímo v simulátoru. Začněte s jednoduchým testem, který ověří, že vaše funkce pro zpracování dat vrací očekávaný výsledek. Typická chyba je testovat až na konci, kdy je kód velký a špatně se izoluje. Pokud pišete testy průběžně, odhalíte chyby dříve a budete si jistější při refaktoringu.

Před tím, než začnete spolupracovat s dalšími lidmi, naučte se větvit. Příkaz git branch nazev_vetve vytvoří novou větev, git checkout nazev_vetve na ni přepne. Větvení umožňuje vyvíjet funkce odděleně, aniž byste ohrozili stabilní verzi. Po dokončení práce větev sloučíte do hlavní větve příkazem git merge nazev_vetve. Konflikty při slučování jsou normální – Git vám ukáže, kde se liší, a vy ručně vyberete správný obsah.

Výběr mezi REST API a GraphQL není otázkou módy, ale konkrétních potřeb. REST je starší, ale stále funkční přístup, který vystačí pro většinu klasických aplikací. GraphQL zase řeší problémy s přetíženými odpověďmi a častými round-tripy. Než se rozhodnete, projděte si pět konkrétních situací, kdy má smysl sáhnout po jednom nebo druhém řešení. Klíčové je nepodlehnout dojmu, že GraphQL je univerzálně lepší.
Typická chyba rekonstrukce koupelny krok za krokemčátečníků je commitovat až po hodinách práce. Raději dělejte menší commity, které odpovídají jedné logické změně. Pokud něco pokazíte, snáze najdete viníka a vrátíte se k předchozímu stavu. Pamatujte, že commit je jako uložená hra – čím častěji ukládáte, tím méně ztratíte.

Další oblast, kde dělají začátečníci chyby, je práce s asynchronními úlohami. SwiftUI má moderní přístup přes async/await, ale pokud přicházíte z jiného jazyka, může být lákavé použít DispatchQueue a uzavřenosti. To funguje, ale vede k nečitelnému kódu a potenciálním problémům s hlavním vláknem. Místo toho deklarujte funkci jako async a použijte await pro volání, která potřebují čas. Pokud potřebujete aktualizovat UI po návratu z asynchronní operace, vraťte se na hlavní vlákno pomocí MainActor. Tím se vyhnete zásekům a zajistíte, že se rozhraní aktualizuje plynule.

První commit: uložte si výchozí bod Po inicializaci si nastavte jméno a e-mail, protože každá změna se k nim váže. Použijte git config --global user.name a git config --global user.email. Poté přidejte soubory do tzv. staging area příkazem git add . (tečka znamená všechny soubory). Následně proveďte commit: git commit -m "Popis změny". Zpráva by měla být krátká a výstižná, například "Přidán úvodní text" nebo "Oprava překlepu v návodu".

Třetí situace: když máte složité, vnořené dotazy napříč více zdroji. Představte si, že potřebujete zobrazit detail článku, autora, komentáře a lajky. V REST byste museli volat čtyři endpointy a slepovat výsledky na klientovi. To způsobuje zpoždění a chyby. GraphQL řeší tento problém jediným dotazem, který vám vrátí kompletní strom dat. Nejvýraznější přínos oceníte u dashboardů, kde se kombinují data z různých služeb. Dejte si ale pozor na N+1 problém: GraphQL resolver se může spustit pro každý záznam zvlášť, což vede k mnoha databázovým dotazům. Vždy používejte batch loading, jinak skončíte s pomalým API.

If you have any sort of inquiries pertaining to where and how you can use Rekonstrukce koupelny krok za krokem, you could call us at our own internet site.