ROTONDE IN BUG

Svoltare all'uscita giusta in una rotonda è una operazione delicata e il processo logico che ne è alla base (o dietro le quinte, se preferite) nasconde alcuni pericolosi bug.

Il più comune ed intuitivo è la caduta in loop infinito: se nessuna uscita corrisponde alla via che cercate (ad esempio: Via del Ritorno) potreste girare in tondo in eterno pensando "E' questa? no, vediamo la prossima... E' questa? no, vediamo la prossima... E' questa? no, vediamo la prossima... E' questa? no, vediamo la prossima..." e così via.

Una variante molto più raffinata e meno dispendiosa per la vostra CPU è questa: mettiamo che voi stiate già percorrendo Via del Ritorno, e dobbiate semplicemente attraversare una rotonda e proseguire. Il programma grosso modo dice

entra in rotonda;
 if (uscita = "Via del Ritorno") esci dalla rotonda;
  else continua a girare;

e sembra funzionare. Ma se la Via del Ritorno oltre la rotonda cambia nome.... allora il vostro giro completerà i 360 gradi e voi uscirete da dove siete entrati e percorrerete Via del Ritorno in senso opposto!
E pedalerete, pedalerete, pedalerete...

Nessun commento:

Posta un commento