Skip to main content

Co je to nedosažitelný kód?

Nedostabilní kód je programovací kód, který nelze provést v žádném kontextu.Existuje celá řada důvodů, proč by se to mohlo objevit, a mnoho počítačových jazyků neumožňuje provádění programu, pokud je část kódu nedosažitelná.Problémy generované nedosažitelným kódem lze vyřešit buď odstraněním problematické části kódu nebo přepsáním části kódu, aby byla sekce znovu dosažitelná.Jakékoli významné narušení toku programu má potenciál způsobit sekci kódu, která je nedosažitelná.Například náhodné vytvoření nekonečné smyčky může vykreslit veškerý kód, který přichází po nedostatku, protože by neexistoval žádný způsob, jak se nikdy vymanit ze smyčky a pokračovat v programu.Dalším způsobem, jak k tomu může dojít, je, pokud je funkce kódována, aby se vrátila před provedením celého kódu.V tomto případě by kód po návratu by byl nedostupný.Za prvé, nesprávně manipulační kontrolní struktury při psaní surového kódu může mít za následek oddíly kódu, které jsou nedosažitelné.Za druhé, chyby v kontrolních strukturách, které nejsou zřejmé během procesu kódování, ale zobrazí se, když je program spuštěn, mohou také způsobit kód, který je nedotknutelný.První typ chyby prochází řadou jmen, včetně chyby kódování nebo chyby syntaxe, a druhým typem chyby je chyba runtime.Chyby kódování jsou obvykle zachyceny analyzátory nebo kompilátory, ale chyby za běhu lze detekovat testováním a spuštěním programu po dokončení.

Nedokazatelný kód je často zaměňován s mrtvým kódem, ale tyto dva jsou výrazně odlišné věci.Mrtvý kód je kód, který provádí konkrétní výpočet, ale poté s výsledkem výpočtu nedělá nic.To není stejné jako kód, který je nedosažitelný, který není nikdy proveden vůbec.Nedostatečný i mrtvý kód lze často z programu bez újmy odstranit, nebo je lze integrovat zpět do programu tím, že pečlivě pozornost věnují kontrolnímu toku programů.Kromě toho lze nedosažitelný i mrtvý kód obvykle detekovat během kódování a před spuštěním programu.

Navzdory zdánlivě zoufalé definici je nedosažitelný kód často relativně snadné opravit.Přítomnost nedosažitelného kódu vždy naznačuje problém s řídicím tokem, takže pečlivá analýza řídicího toku programů obvykle identifikuje trestné kód v krátkém pořadí.Pokud je řídicí tok programů pečlivě sledován během procesu kódování, je pravděpodobnost generování nedostupného kódu velmi nízká.