Refaktorování: Porovnání verzí

Smazaný obsah Přidaný obsah
Pridanie pár wikiodkazov
MatSuBot (diskuse | příspěvky)
m bot odstranil odkaz na sebe (data WP:WCW, chyba #48) za použití AWB
Řádek 1:
{{Wikifikovat}}
 
'''[[Refaktorování]]''' je disciplinovaný proces provádění změn v softwarovém systému takovým způsobem, že nemají vliv na vnější chování kódu, ale vylepšují jeho vnitřní strukturu s minimálním rizikem vnášení chyb. Při refaktoringu provádíme malé až primitivní změny, ale celkový efekt je velký a to v podobě čistšího, průhlednějšího a čitelnějšího kódu, kód se také lépe udržuje a rozšiřuje. Zlepšuje se také celková kvalita kódu a architektura, snižuje se počet chyb a tím i zvyšuje rychlost vývoje [[program]]u. [[Refaktoring]] nám pomáhá pochopit a více si ujasnit kód, což je vhodné zejména, pokud upravujeme [[zdrojový kód]] po někom jiném.
 
== Vznik ==
Řádek 9:
 
== Jak správně refaktorovat ==
Pokud [[refaktoring]] zcela neovládáme, může být velice riskantní, jelikož upravujeme funkční kód a touto úpravou si do kódu můžeme zavést velice záludné chyby a [[program]] již nemusí být funkční. Proto mezi hlavní zásadu patří mít před samotným [[refaktorování]]mrefaktorováním připravenou dobrou sadu testů, kterou spustíme po každé změně.
 
Další důležitá zásada je refaktorovat po malých krocích a to neustále a ihned testovat, zda nám někde nevznikla chyba. Většina [[programátor]]ů provádí [[refaktoring]], aniž by o něm věděla, jelikož jedna z nejdůležitějších zásad programátora je, aby ve svém kódu neměl duplicity. Když nějakou duplicitu objeví, snaží se jí zbavit a to většinou nevědomky [[refaktoring]]em a to konkrétně postupem vyjmout metodu.
 
== Kdy refaktorovat ==
Řádek 107:
* nahradit vnořenou podmínku varovnými klausulemi
* nahradit podmínku polymorfismem
* nahradit kód typu stavem nebo strategií
* odstranit příznak
* zachovat celý objekt
 
== Refaktoring a návrhové vzory ==
Existuje zde vazba mezi refaktoringem a návrhovými vzory a to taková, že vzory vlastně popisují definovaný cíl a naopak refaktorování popisuje způsob jak se k tomuto cíli dostat. Pokud se podíváte na jednotlivé techniky, poznáte již z jejich jména, že mají co dočinění s [[návrhový vzor|návrhovými vzory]], viz vytvořit [[návrhový vzor|šablonovou metodu]], zavést [[návrhový vzor|objekt null]], nahradit konstruktor [[návrhový vzor|tovární metodou]] nebo nahradit kód typu [[návrhový vzor|stavem]] nebo [[návrhový vzor|strategií]].
 
== Podpora refaktoringu ==