fall through: v.

(n. fallthrough, var.: fall-through)

1. Uscire da un ciclo quando e' finito, quindi avendo soddisfato la sua condizione di uscita piuttosto che tramite un break o una condizione di eccezione che esce da esso nel bel mezzo. Questo utilizzo sembra essere molto vecchio, datato dagli anni 40 e 50.

2. Fallire un test che avrebbe passato il controllo ad una subroutine o un'altra parte di codice lontana.

3. In C, un ‘fall-through’ avviene quando il flusso dell'esecuzione in un'sitruzione switch raggiunge un'etichetta case in altro modo che saltandoci dall'intestazione switch, passando un punto in cui normalmente ci si aspetta di vedere un break. Un esempio complicato:


switch (color)
{
case GREEN:
   do_green();
   break;
case PINK:
   do_pink();
   /* FALL THROUGH */
case RED:
   do_red();
   break;
default:
   do_blue();
   break;
}

La variante di pronuncia /* FALL THRU */ è molto comune.

L'efetto del codice sopra è di chiamare do_green() quando il colore è GREEN, do_red() quando il colore è RED, do_blue() o qualunque altro colore a parte PINK, e (e questa è la parte importante) do_pink() e poi do_red() quando il colore è PINK. Il fall-throught sono considerati dannosi da alcuni, a meno che non abbiano un contesto (come la programmazione di macchine di stato) in cui sono ovvie; e' in genere considerata una buona cosa mettere un commento che evidenzia il fall through dove qualcuno in genere si aspetta un break. Vedi anche Duff's device.