Skip to main content

Cos'è un codice irraggiungibile?

Il codice non raggiungibile è un codice di programmazione che non può essere eseguito in nessun contesto.Ci sono una serie di ragioni per cui ciò potrebbe verificarsi e molti linguaggi di computer non consentono l'esecuzione di un programma se una sezione di codice è irraggiungibile.I problemi generati dal codice irraggiungibile possono essere risolti rimuovendo la sezione problematica del codice o riscrivendo parte del codice per rendere nuovamente raggiungibile la sezione.

Quando il software di ingegneria, può essere relativamente facile creare un codice irraggiungibile.Qualsiasi interruzione significativa nel flusso del programma ha il potenziale per causare una sezione di codice che non è raggiungibile.Ad esempio, la creazione accidentale di un ciclo infinito può renderlo tutto il codice che lo viene dopo il non raggiungibile perché non ci sarebbe modo di uscire dal ciclo e continuare il programma.Un altro modo in cui ciò può accadere è se una funzione è codificata per restituire prima che tutto il suo codice venga eseguito.In questo caso, il codice dopo l'istruzione di restituzione sarebbe irraggiungibile.

Esistono due modi in cui il codice irraggiungibile può essere generato.Innanzitutto, gestire in modo improprio le strutture di controllo quando si scrive un codice grezzo può comportare sezioni di codice irraggiungibili.In secondo luogo, gli errori nelle strutture di controllo che non sono evidenti durante il processo di codifica, ma che vengono visualizzati quando viene eseguito un programma, possono anche causare un codice che non è raggiungibile.Il primo tipo di errore va da una varietà di nomi, incluso errore di codifica o errore di sintassi, e il secondo tipo di errore è un errore di runtime.Gli errori di codifica vengono generalmente catturati da parser o compilatori, ma gli errori di runtime possono essere rilevati solo testando e eseguendo il programma dopo il completamento.

Il codice non raggiungibile è spesso confuso con il codice morto, ma i due sono cose significativamente diverse.Il codice morto è un codice che esegue un particolare calcolo, ma poi non fa nulla con il risultato del calcolo.Questo non è lo stesso del codice irraggiungibile, che non viene mai eseguito affatto.Sia il codice irraggiungibile che quelli morti possono spesso essere rimossi da un programma senza danno, oppure possono essere integrati nel programma prestando un'attenta attenzione al flusso di controllo dei programmi.Inoltre, sia il codice non raggiungibile che quelli morti possono di solito essere rilevati durante la codifica e prima di eseguire un programma.

Nonostante la sua definizione apparentemente terribile, il codice irraggiungibile è spesso relativamente facile da risolvere.La presenza di codice irraggiungibile indica sempre un problema di flusso di controllo, quindi un'attenta analisi di un flusso di controllo dei programmi di solito identificherà il codice offensivo in breve tempo.Se un flusso di controllo dei programmi è attentamente monitorato durante il processo di codifica, la probabilità di generare codice irraggiungibile è molto bassa.