Když chcete zrychlit refaktoring, využijte vestavěné nástroje IDE
Efektivní extrakce metod a proměnných Když potřebujete rozdělit dlouhou funkci na menší části, sáhněte po extrakci metody. Označte blok kódu a použijte příslušnou akci (obvykle Ctrl+Alt+M). IDE automaticky vytvoří novou metodu, přenese potřebné parametry a nahradí původní kód voláním. Ušetříte si tím ruční psaní signatury i řešení návratových hodnot. Podobně funguje extrakce proměnné pro opakující se výrazy – místo psaní stejného podvýrazu několikrát ho nechte IDE vygenerovat jednou a pak ho používejte. Dávejte si ale pozor na vedlejší efekty: extrakce metody s více návratovými hodnotami může být ošemetná, proto před akcí zkontrolujte, zda kód nemá více výstupů.
Nakonec mějte na paměti, že rychlost refaktoringu nezávisí jen na znalosti zkratek, ale i na tom, jak často je používáte. Zkuste si na týden zavést pravidlo: jakmile potřebujete změnit název, extrahovat kód nebo změnit strukturu, zastavte se a vyhledejte vestavěný nástroj. Po pár dnech si osvojíte pohyb v menu a zkratky a ruční editace se stanou výjimkou. Ušetřený čas pak můžete věnovat skutečně složitým problémům, které automatizace nevyřeší.
Testování jednotek v C# je jedním ze základních pilířů stabilního kódu. NUnit patří mezi nejrozšířenější frameworky, ale jeho správné použití vyžaduje víc než jen napsat pár metod s atributem [Test]. Klíčové je pochopit, jak strukturovat testy tak, aby byly rychlé, spolehlivé a snadno udržovatelné. V tomto článku se zaměříme na konkrétní postupy, na které se v praxi často zapomíná.
nábytek na míru závěr si zvykněte na pravidelné sledování pomalých dotazů. Většina databází umožňuje zapnout logování pomalých dotazů. Jakmile nějaký najdete, projděte si výše uvedené body. Někdy pomůže i rozdělení velké tabulky na menší party. If you loved this article and you would like to receive a lot more facts with regards to koukněte sem kindly check out our web-site. Ale ať děláte cokoli, vždy testujte na reálných datech – to, co platí pro malou tabulku, nemusí fungovat pro miliony řádků.
Osvojení si těchto čtyř prvků – destrukturalizace, šípkové funkce, template literály a async/await – pokryje většinu každodenních potřeb. Nehoňte se za každou novinkou ve specifikaci; místo toho se zaměřte na to, aby váš kód byl čitelný a předvídatelný. Pravidelným používáním moderní syntaxe zjistíte, že mnoho problémů, které dříve vyžadovaly pomocné knihovny, je nyní řešitelných nativně. Stačí jen přestat psát JavaScript jako v roce 2010.
Dalším častým problémem je používání reálných databází nebo souborů. Test by měl běžet rychle a bez vnějších závislostí. Pokud testujete třídu, která pracuje s databází, vytvořte si falešný repozitář vracející předem připravená data. NUnit umožňuje použít atribut [SetUp] pro inicializaci před každým testem, ale dávejte pozor, abyste v něm nedělali drahé operace, jako je startování serveru. To patří do [OneTimeSetUp] a jen tehdy, pokud to opravdu potřebujete.
Vyhněte se časté chybě: spoléhání na funkci „find and replace" pro větší změny struktury. Ta je vhodná jen pro jednoduché textové náhrady, ne pro refaktoring, protože nechápe sémantiku kódu. Pokud potřebujete změnit typ parametru nebo přesunout metodu mezi třídami, použijte vestavěné akce pro změnu signatury nebo přesun. Tyto funkce automaticky upraví všechna volání a zachovají konzistenci. Pamatujte, že IDE nástroje nejsou všemocné – u dynamicky psaných jazyků nebo při použití reflexe nemusí zachytit vše, proto po každém refaktoringu spusťte testy.
Refaktoring kódu bez podpory integrovaného vývojového prostředí je zbytečná dřina. Moderní IDE nabízí řadu vestavěných funkcí, které dokážou automatizovat opakující se úkony a výrazně zkrátit čas strávený nad úpravami. Přesto mnoho vývojářů sahá po ručních změnách, i když existuje rychlejší cesta. V tomto článku se zaměříme na konkrétní nástroje, které najdete přímo v editoru, a na to, jak je správně používat, abyste se vyhnuli typickým chybám.
Prvním krokem je oddělení testů od produkčního kódu. Nejde jen o to dát testy do jiné složky, ale také o to, aby testy nebyly závislé na konkrétní implementaci. Používejte rozhraní a injektujte závislosti, ať můžete snadno dosadit falešné objekty. NUnit sám o sobě nenabízí mockování, ale snadno ho zkombinujete s knihovnami, jako je Moq nebo NSubstitute. Díky tomu testujete chování třídy, ne její vnitřní propojení.
Nezapomínejte na správné rozdělení logiky. Pokud dotaz obsahuje mnoho JOINů, zvažte, zda je potřeba spojovat hned všechny tabulky. Někdy je rychlejší udělat dva menší dotazy a výsledek spojit v aplikaci. Důležité je také sledovat velikost datových typů – zbytečně široké VARCHARy zpomalují porovnávání. Pro číselné identifikátory používejte INT, neřetězce.