title: Rubber duck debugging
text: # Rubber duck debugging
  
  Nell'ingegneria del software, viene indicata come rubber duck debugging o rubber ducking una pratica di debugging che consiste nello spiegare, riga per riga, il funzionamento di un programma ad un oggetto inanimato (come appunto una papera di gomma). L'idea infatti è che, descrivendo dettagliatamente il funzionamento atteso del programma ed osservando allo stesso tempo quello che effettivamente il codice fa, eventuali incongruenze possano venire a galla.
  
  Il nome è un riferimento a una storia contenuta nel libro The Pragmatic Programmer, nella quale un programmatore porta con sé una paperella di gomma, alla quale spiega riga per riga il funzionamento del codice, ma la tecnica è nota anche sotto diversi nomi, che tipicamente si riferiscono ad altri oggetti inanimati.
  
  Molti programmatori hanno avuto l'esperienza di trovare la soluzione ad un problema spiegando lo stesso ad un'altra persona, specialmente se questa non si intende di informatica. In generale, spiegare un argomento porta ad osservare lo stesso da un differente punto di vista, che può condurre ad una comprensione più profonda. L'uso di oggetti inanimati elimina il problema di dover coinvolgere un'altra persona nel processo.
  
  