Duplikace kódu

Duplikace kódu je v oboru programování označení pro jev, kdy se ve zdrojovém kódu vyskytuje několik kopií stejné posloupnosti příkazů, které jsou pak označovány za duplicitní kód.

Duplikace kódu často vzniká v rámci programování kopírováním. Obvykle je považována za symptom špatného programování a návrhový antivzor neboť je problematická z hlediska dlouhodobé správy softwaru. Například se tímto způsobem může na více míst rozšířit jediná zranitelnost, kterou je následně potřeba správně opravit několikrát.

Vizualizace: Nahrazení třikrát kopírovaného kódu voláním funkce, která jej vykonává

Refaktorování, které odstraní duplicitní kód, obvykle program zjednoduší i z hlediska ukazatelů typu cyklomatická složitost nebo počet řádků kódu. Jednodušší kód pak může být snazší z hlediska správy i dalšího vývoje. Proto některé programátorské nástroje nabízejí vyhledávání duplicitního kódu (k tomu mohou sloužit například Rabinův–Karpův algoritmus nebo syntaktické stromy).

Duplicitní kód ovšem může být výjimečně i správným řešením: Například pokud má na dané počítačové platformě volání podprogramu velkou režii a přitom není k disposici překladač, který umí inlinovat podprogramy nebo interpretovat makra, může být u malých, výkonnostně kritických částí programu zduplikování kódu zásadním zlepšením výkonnosti.

Reference

V tomto článku byl použit překlad textu z článku Duplicate code na anglické Wikipedii.

Média použitá na této stránce

Duplicate code.gif
Autor: Bokanko, Licence: CC BY-SA 3.0
Code smells like a duplicated code