Hva er en uoppnåelig kode?
Utilgjengelig kode er programmeringskode som ikke kan kjøres i noen sammenheng. Det er mange årsaker til at dette kan oppstå, og mange dataspråk tillater ikke utførelse av et program hvis en del av koden er utilgjengelig. Problemer som genereres av uoppnåelig kode, kan fikses ved enten å fjerne den problematiske delen av koden eller skrive om en del av koden for å gjøre seksjonen tilgjengelig igjen.
Når du utvikler programvare, kan det være relativt enkelt å utilsiktet lage uoppnåelig kode. Enhver vesentlig forstyrrelse i flyten av programmet har potensial til å forårsake en kodeseksjon som er utilgjengelig. For eksempel kan utilsiktet opprettelse av en uendelig sløyfe gjøre all kode som kommer etter den utilgjengelig fordi det ikke ville være noen måte å noen gang bryte ut av løkken og fortsette programmet. En annen måte dette kan skje er hvis en funksjon er kodet for å returnere før all koden blir utført. I dette tilfellet vil koden etter returerklæringen være utilgjengelig.
Det er to måter som det kan genereres uoppnåelig kode på. For det første kan feilaktig håndtering av kontrollstrukturer når du skriver rå kode føre til deler av koden som ikke kan nås. For det andre kan feil i kontrollstrukturer som ikke er åpenbare under kodingsprosessen, men som vises når et program kjøres, også føre til kode som ikke kan nås. Den første feilen går av en rekke navn, inkludert kodingsfeil eller syntaksfeil, og den andre typen feil er en kjøretidsfeil. Kodingsfeil blir vanligvis fanget av analysører eller kompilatorer, men runtime-feil kan bare oppdages ved å teste og kjøre programmet etter fullføring.
Uoppnåelig kode forveksles ofte med død kode, men de to er vesentlig forskjellige ting. Dødkode er kode som utfører en bestemt beregning, men da ikke gjør noe med resultatet av beregningen. Dette er ikke det samme som kode som ikke kan nås, og som aldri utføres i det hele tatt. Både utilgjengelig og død kode kan ofte fjernes fra et program uten skade, eller de kan integreres tilbake i programmet ved å være nøye oppmerksom på programmets kontrollstrøm. I tillegg kan både uoppnåelig og død kode vanligvis oppdages under koding og før du kjører et program.
Til tross for sin tilsynelatende ubehagelige definisjon, er uoppnåelig kode ofte relativt lett å fikse. Tilstedeværelsen av uoppnåelig kode indikerer alltid et kontrollflytproblem, så nøye analyser av programmets kontrollstrøm vil vanligvis identifisere den krenkende koden i kort rekkefølge. Hvis et programs kontrollstrøm overvåkes nøye gjennom kodingsprosessen, er sannsynligheten for å generere uoppnåelig kode svært liten.