Pachy v kódu

Z Wikipedie, otevřené encyklopedie
Jump to navigation Jump to search

Za „pachy“ v kódu lze považovat jakýkoliv symptom v kódu, který ukazuje na hlubší problém. Tento problém často nelze vidět hned, ale může být odkryt, pokud je kód podroben důkladné analýze.

Nejčastější „pachy“ v kódu[editovat | editovat zdroj]

  • Duplicitní kód Figuruje v přehlídce „pachu“ na prvním místě. Je to identický či velice podobný kód, který existuje na více místech. Tento kód je špatně udržitelný a náchylný k chybám.
  • Dlouhé metody Budí podezření, zdali vykonávají opravu jednu konkrétní funkcionalitu odpovídající jejích názvu. Kratší metody jsou vždy čitelnější, srozumitelnější a jednodušší.
  • Velká třída Pokud třída děla příliš mnoho, obvykle se to projevuje velkým množstvím instančních proměnných. Tyto třídy jsou kandidáty pro duplicity, chaos a zmar.Jsou jako dlouhé metody hůře čitelné a srozumitelné.
  • Rozptýlené úpravy Pocítíte je pokud při každé změně musíte provést řádu drobných úprav v mnoha třídách. Místa, která je potřeba upravit je těžké najít. Rozptýlené úpravy nastávají při jedné změně, která ovlivní řádu tříd.
  • Dlouhý seznam parametrů Metody s dlouhým počtem parametrů jsou většinou nesrozumitelné. Pokud předávané parametry obsahuje nějaký objekt, je řešením předat jako parametr tento objekt.
  • Chybějící schopnosti Popisuji problém, kdy existuje metody, které se více zajímají o jiné třídy než o třídy v nichž jsou vytvořené. Abychom se vyhnuli chybějícím schopnostem tak základním pravidlem je sdružovat věci, které se spolu mění.
  • Datové shluky V návrhu programu se často můžeme setkat s daty, která patří k sobě. Tato data jsou mnohdy různě rozmístěna. Skupiny dat, které se drží pohromadě si zaslouží vlastní objekt.
  • Příkazy switch Potíž s tímto příkazem je většinou v jeho duplicitě. Často v kódu lze nalézt stejné příkazy switch na mnoha místech v programu. Když chceme přidat novou větev, musíme najít a změnit všechny výskyty příkazu.
  • Líná třída Je třída, která nedělá dost, aby se vyplatila, by měla být proto odstraněna či sloučena.
  • Komentáře Často v kódu lze narazit na pečlivě komentovaný kód, kde komentáře jsou jen proto, že kód je špatný a signalizuji kód, který má hnilobná ložiska. Komentář je vhodné použit pokud nevíme kudy dál. Je dobrý k vysvětlení, proč je něco uděláno určitým způsobem.

Refaktorování neboli jak na „pachy“ v kódu[editovat | editovat zdroj]

  • Refaktorování Je disciplinovaný proces provádění změn v kódu takovým způsobem, že nemá vliv na vnější chování kódu, ale vylepšuje jeho vnitřní strukturu s minimálním rizikem vnášení chyb. Refaktorování mění programy po malých krocích. Pokud se spletete, je jednoduché chybu najít. Alfou a Omegou úspěšného refaktorování je sada solidních automatických testu.

Proč refaktorovat?

  • Těžko se upravují programy, které se těžko čtou.
  • Těžko se upravuji programy s duplicitní logikou.
  • Těžko lze upravit programy, které po přidaní funkcionality vyžadují změnu funkčního kódu
  • Těžko lze upravovat kód se složitými strukturami podmínek.

Přínosy refaktorování

  • Zlepšuje návrh software
  • Vede k lepši srozumitelnosti softwaru
  • Pomáhá hledat chyby
  • Umožňuje významně zrychlit programování

Literatura[editovat | editovat zdroj]

  • Refaktoring: zlepšení existujícího kódu - Martin Fowler, nakladatelství Grada, rok vydání 2003, ISBN: 80-247-0299-1

Externí odkazy[editovat | editovat zdroj]