Základní rozhodnutí přichází hned na začátku: UIKit nebo SwiftUI? SwiftUI je deklarativní, rychlejší pro prototypy a přirozeně spolupracuje s funkcemi jako Dark Mode nebo Dynamic Type. UIKit je stabilnější a najdete pro něj více knihoven třetích stran. Pokud začínáte, vyberte si SwiftUI, ale připravte se na to, že u složitějších animací nebo custom přechodů budete muset sáhnout po UIKit reprezentacích přes UIViewRepresentable. Klíčové je nemíchat oba přístupy bez rozmyslu – držte se jedné architektury a tu konzistentně rozvíjejte.<br>
<br>
<br>
<br>
Další pastí je nekonzistence. Pokud na jedné obrazovce používáte modré tlačítko pro uložení, na druhé by nemělo být zelené a na třetí oranžové. Stejná pravidla platí pro ikony, typografii nebo zarovnání. Vytvořte si jednoduchý styl – byť jen pár pravidel pro barvy a mezery – a držte se ho. Pomáhá také vyhnout se příliš mnoha modálním oknům; každé přerušení toku uživatele ho stojí čas a pozornost. Pokud se něco dá vyřešit inline, nelamte to přes dialog.<br>
<br>
<br>
<br>
<img src="https://omitkyapodlahy.cz/wp-content/uploads/2024/11/VKN-s.r.o.-stavebni-prace-na-klic-interiery-na-klic-malirske-prace-vymalba-vymalovat-interier-dokonceni-interieru-12.jpeg" style="max-width:400px;float:left;padding:10px 10px 10px 0px;border:0px;"><span style="font-weight: 800;">Čtvrtý princip se týká</span> historických dat. Pokud vedete záznamy o tom, jak dlouho trvaly předchozí úkoly, použijte je pro budoucí odhady. Pokud podobná funkce minule zabrala 14 dní, je nepravděpodobné, že tentokrát bude hotová za 3 dny, pokud se zásadně nezměnil tým nebo postup. Sbírejte data průběžně – po dokončení úkolu si poznamenejte skutečný čas, ne jen plánovaný. Po několika projektech uvidíte své vlastní vzorce: kde se obvykle zpožďujete, co podceňujete a co naopak přeceňujete. Tyto poznatky jsou cennější než jakýkoli obecný vzorec.<br>
<br>
<br>
<br>
Pátá zásada se týká komunikace odhadu. Odhad nikdy nepředkládejte jako jistotu. Řekněte: „Předpokládám, že to bude do dvou týdnů, ale může to trvat až tři." Tím dáte zadavateli jasný obrázek a zároveň si necháte prostor pro manévrování. Zároveň se vyhněte tomu, abyste odhad snižovali kvůli tlaku okolí. Pokud vedení požaduje rychlejší termín bez změny rozsahu, je to jeho rozhodnutí – vy ale musíte jasně říct, jaká jsou rizika. Dobrý odhad není ten, který potěší, ale ten, který odpovídá realitě.<br>
<br>
<br>
<br>
Při ukládání dat na zařízení zvažte, zda potřebujete Core Data, nebo postačí UserDefaults. Core Data je robustní, ale přináší složitost s migracemi a kontextem. Pro malé objemy dat, jako je nastavení, stačí UserDefaults, ale nikdy tam neukládejte velké objemy nebo citlivé informace. Pokud používáte SwiftData, pamatujte, že je to stále mladá technologie – prověřte si její chování na starších systémech. Vždy šifrujte citlivá data, ať už přes Keychain, nebo přes Security framework.<br>
<br>
<br>
<br>
Proč se odhady nejčastěji nedaří Nejčastější chybou je odhadování na základě „ideálního dne". Vývojář předpokládá, že bude osm hodin v kuse psát kód bez přerušení, porad a e-mailů. Realita je jiná: meetingy, code review, řešení produkčních chyb nebo nečekané závislosti na jiném týmu. Pokud do odhadu nezapočítáte režii, dostanete se do skluzu hned na začátku. Doporučuji použít faktor režie – pokud si myslíte, že úkol zabere 10 hodin čisté práce, počítejte s 12 až 15 hodinami reálného času.<br>
<br>
<br>
<br>
Další past: testy, které nejsou nezávislé. Pokud jeden test čeká na data vytvořená jiným testem, máte zaděláno na pořádný problém. Jakmile změníte pořadí spuštění, všechno se sype. Řešení je jednoduché – každý test si připraví vlastní data a po sobě uklidí. To platí pro všechny vrstvy pyramidy, ale u E2E je to kritické. Pokud test selže, musíte vědět, že to není kvůli stavu z předchozího testu.<br>
<br>
<br>
<br>
Poslední rada: pyramidu neberte jako dogma, ale jako výchozí bod. U projektu s bohatým uživatelským rozhraním a složitou logikou na klientovi bude poměr jiný než u REST API bez frontendu. Důležité je, abyste se rozhodovali vědomě a ne náhodně. Měřte si dobu běhu, počet selhání a čas strávený údržbou. Jakmile uvidíte, že opravy testů žerou víc času než psaní nových funkcí, je čas pyramidu přebudovat. A to je přesně ten moment, kdy se vyplatí mít na paměti, proč pyramida existuje – ne pro krásu, ale pro efektivitu.<br>
<br>
<br>
<br>
Odhad času patří k nejobtížnějším činnostem v softwarovém vývoji. Nejedná se o věštění z křišťálové koule, ale o systematickou práci s informacemi, které máte k dispozici. Pokud zvládnete pět základních principů, výrazně snížíte riziko, že termín nesplníte. Klíčem je přestat odhadovat na základě pocitů a začít odhadovat na základě dat a struktury.<br>
<br>
<br>
<br>
Druhý častý problém je odhadování jedním číslem. Místo toho si vytvořte tři scénáře: optimistický, realistický a pesimistický. Optimistický předpokládá, že vše půjde hladce, realistický počítá s běžnými překážkami a pesimistický zahrnuje i neočekávané komplikace. Výsledný odhad pak berte z realistického scénáře, ale termín vždy komunikujte s vědomím pesimistické varianty. Tím si vytvoříte rezervu, kterou můžete využít, když se něco pokazí.