Úloha 5 – Validace knihy
Úvod do úlohy
V průběhu vývoje programů se často stává, že původně jednoduchá funkce postupně narůstá a začne obsahovat příliš mnoho kroků najednou. Takový kód je pak těžko čitelný, obtížně se udržuje a ještě hůře testuje. Refaktoring – tedy přeorganizování kódu bez změny jeho funkčnosti – nám pomůže rozdělit složité funkce na menší, přehlednější moduly. Každý modul má jasně vymezenou odpovědnost a dobře zvolený název, takže i jiný programátor okamžitě pochopí, co funkce dělá.
Teorie a principy
-
Modularita: funkce by měla řešit jen jednu věc (princip „Single Responsibility“).
-
Redukce parametrů: příliš mnoho parametrů zhoršuje čitelnost. Pokud funkce potřebuje příliš mnoho vstupů, je vhodné rozdělit ji na více menších funkcí.
-
Smysluplné názvy: název funkce má jasně popisovat, co dělá (
overKontakty,spocitejPrumer,zvalidujEmail). -
Dokumentační komentáře: pomáhají budoucím čtenářům kódu rychle pochopit účel funkce. Vhodné je použít krátké komentáře nad každou funkcí.
-
Výsledek refaktoringu: kód je kratší, přehlednější a snadněji rozšiřitelný.
Praktické příklady kódu
1. Původní (nepřehledná) funkce
Tato funkce dělá příliš mnoho věcí najednou – kontroluje jméno, věk, e-mail i souhlas.
2. Refaktorovaná verze s menšími funkcemi
Typické chyby / záludnosti
-
Funkce dělá příliš mnoho věcí – studenti často nechávají vše v jedné funkci.
-
Duplicitní kód – stejné kontroly se objevují na více místech, přitom by mohly být ve vlastní funkci.
-
Příliš mnoho parametrů – lepší je rozdělit úkol na více menších funkcí.
-
Chybějící komentáře – bez krátkých vysvětlení je i čistý kód pro začátečníka těžší pochopit.
Shrnutí – hlavní body k zapamatování
-
Refaktoring = úprava kódu bez změny funkčnosti.
-
Rozdělte velké funkce na menší, které mají jednu jasnou odpovědnost.
-
Omezte počet parametrů – když jich je moc, rozdělte logiku.
-
Používejte smysluplné názvy funkcí a přidejte krátké komentáře.
-
Výsledkem je modulární, čitelný a snadno rozšiřitelný kód.