Editing
Co se stane, když testy stavíte bez pyramidy
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Druhým nejužitečně[https://Xjj3.cc/home.php?mod=space&uid=619154 jším nástrojem] je extrakce. Logika, která se [https://www.deer-digest.com/?s=opakuje opakuje] ve více metodách, by měla být vyčleněna do samostatné metody. Označte blok kódu, stiskněte zkratku pro � Method" (např. Ctrl+Alt+M) a IDE vytvoří novou metodu s vhodnými parametry. Tím získáte čistší strukturu bez ručního kopírování. Upozornění: extrakce dává smysl až ve chvíli, kdy je blok skutečně nezávislý – pokud používá mnoho lokálních proměnných, výsledek může být nepřehledný. V takovém případě nejprve zjednodušte logiku pomocí jiných nástrojů, třeba inline (opak extrakce).<br><br>Když přecházíte z JavaScriptu na TypeScript, první dny vypadají jako boj s kompilátorem. Než si ale osvojíte pár základních principů, zjistíte, že většina chyb, které jste dříve lovili hodiny v prohlížeči, se prostě neobjeví. TypeScript není nový jazyk – je to nadstavba, která přidává typy a tím mění způsob, jakým přemýšlíte o kódu. Nejdůležitější je přestat vnímat typy jako překážku a začít je brát jako dokumentaci, která se sama kontroluje.<br><br>Začněte tím, že si definujete tři vrstvy. Nejnižší jsou jednotkové testy – testují jednu funkci nebo třídu bez závislostí. Střední vrstva patří integračním testům, které ověřují spolupráci dvou nebo více komponent, třeba databáze s repozitářem. Na vrcholu jsou end-to-end testy, které procházejí celou aplikací, jakoby ji používal skutečný uživatel. Typický poměr je sedmdesát procent jednotkových, dvacet procent integračních a deset procent end-to-end. Tento poměr není dogma, ale výchozí bod, od kterého se můžete odchýlit podle svého projektu.<br><br>Dalším krokem je minimalizace kódu. Ze souborů CSS a JavaScript odstraňte bílé znaky, komentáře a nevyužité pravidla. Dnes to zvládnou automatické nástroje, které spustíte jedním příkazem. Dávejte si ale pozor na kombinaci souborů. Pokud sloučíte vše do jednoho velkého souboru, prohlížeč ho musí stáhnout celý, i když potřebuje jen malou část. Místo toho rozdělte kód na kritický a nekritický. Kritický vložte přímo do HTML, zbytek načtěte až po načtení stránky.<br><br>Zkontrolujte si také počet přesměrování. Každé přesměrování znamená další komunikaci mezi prohlížečem a serverem, a tím i zpoždění. Ujistěte se, že odkazujete přímo na finální adresu, a nepoužívejte zbytečné řetězce, kdy se stránka přesměruje třikrát za sebou. Stejně tak se vyhněte velkému množství pluginů, které do stránky vkládají vlastní skripty. Jeden špatně napsaný doplněk dokáže zpomalit celý web.<br><br>Nejčastější chyba: používání any jako berličky Když narazíte na chybu, kterou nechcete řešit, nejjednodušší je napsat any. Tím ale vypnete kontrolu typů a vrátíte se zpět do JavaScriptu. Místo toho se snažte najít konkrétní typ – pokud nevíte, jaký tvar objektu přijde, použijte unknown a poté data zúžte pomocí podmínky. Například místo let data: any napište let data: unknown a před použitím ověřte, že jde o pole. Tento přístup vás donutí myslet na to, co skutečně od dat očekáváte.<br><br>Správné používání nástroje B3du je o trpělivosti a systematičnosti. Nečekejte, že vám zázračně vyřeší všechny problémy. Místo toho se zaměřte na to, abyste s ním pracovali efektivně. Využívejte klávesové zkratky, naučte se pracovat s vrstvami a nezapomínejte na správu barev. Každý projekt je jiný, a proto se nebojte kombinovat různé postupy. Časem zjistíte, co vám vyhovuje, a práce vám půjde rychleji. Pokud teprve začínáte, vezměte si jeden krátký klip a projděte si celý proces od začátku do konce — to je nejlepší škola.<br><br>U jednotkových testů si dejte pozor na testování implementace místo chování. Testujte, co funkce dělá, ne to, jak to dělá. Když test začnete plnit kontrolami vnitřních stavů, každá refaktorizace kódu test rozbije, i když chování zůstává stejné. U integračních testů zase hrozí, že budete testovat samotnou databázi, což je zbytečné. Zaměřte se na to, aby test prokázal, že vaše vrstvy spolu správně komunikují, ne že databáze funguje – to už ověřil její výrobce.<br><br>Na závěr nezapomínejte, že TypeScript je jen nástroj. Neřešte typy za každou cenu – pokud je projekt malý a rychlost je důležitější než dlouhodobá udržovatelnost, klidně použijte any tam, kde to dává smysl. Ale jakmile projekt roste, [http://1v34.com/space-uid-1727900.html rekonstrukce koupelny krok za krokem]čněte typy zpřísňovat. Nejlepší strategie je zapnout přísný režim (strict) hned na začátku projektu. Bolí to prvních pár dní, ale po měsíci zjistíte, že se vám lépe pracuje, protože kód je srozumitelnější a chyby se objevují dřív, než stihnou něco rozbít.<br><br>Když přichází na řadu export, většina problémů vzniká zbytečně. B3du umožňuje exportovat v mnoha formátech, ale ne všechny jsou vhodné pro každý účel. Pokud chcete video sdílet online, zvolte standardní formát, který je kompatibilní s většinou přehrávačů. Pokud ho chcete dál upravovat v jiném programu, vyberte bezztrátový kodek. Zde platí jednoduché pravidlo: méně komprese na začátku znamená více kvality na konci. A když si nejste jistí, vyzkoušejte export na krátkém úseku — uvidíte, jak se výsledek chová, a nebudete muset čekat hodiny.
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information