Code, Learn

Rubber Duck Debugging – Una paperella per amica

6 Settembre 2021 - 2 minuti di lettura

Qualche settimana fa ero in vacanza a Berlino quando mi sono ritrovato in un negozio di souvenir. Girovagando tra le varie proposte, alcune anche di dubbio gusto, mi sono imbattuto in un piccolo oggetto indispensabile per noi programmatori, che sulla mia scrivania ancora mancava.

Di cosa sto parlando? Di Rubber Duck Debugging, o più semplicemente di una paperella di gomma!

Se questa risposta ti ha fatto balzare sulla sedia e non hai capito perché una paperella da bagno sia indispensabile per un programmer, allora non hai ancora avuto la fortuna di incappare nel bellissimo libro “Pragmatic Programmer” di Andrew Hunt e David Thomas. Tra i molti preziosi aneddoti e consigli su come diventare un programmatore migliore, infatti, i due autori descrivono la storia di uno sviluppatore, tale Greg Pugh, che era solito portare con sé una paperella di gomma gialla da collocare sul suo terminale mentre scriveva codice.

Perché?

La risposta è nel passaggio che si trova a pagina 77 della versione italiana del libro

Una tecnica molto semplice ma particolarmente utile per trovare la causa di un problema è semplicemente spiegare il problema a qualcun altro. L’altra persona deve mettersi alle vostre spalle e guardare lo schermo [..]. Non c’è bisogno che quella persona dica una parola: il semplice atto di spiegare, passo per passo, che cosa dovrebbe fare il codice spesso spinge il problema a saltar fuori da solo dallo schermo.

Sembra banale, ma spiegare il problema a qualcun altro, sia esso una persona, un animale o un oggetto inanimato, ci costringe a dire esplicitamente delle cose che dentro di noi diamo per scontate e, così facendo, ci aiuta a far emergere falle nel nostro operato o modi migliori per riscrivere quanto fatto.

Certo, è sempre preferibile avere davanti a sé un essere senziente che possa aggiungere una propria opinione a quanto stiamo esprimendo, ma, in sua assenza, qualunque cosa ci spinga a tirare fuori quanto sta nella nostra testa, può portarci a risultati inattesi. Ecco, quindi, che può tornare utile un orsetto di peluche, una piantina in vaso o, appunto, una bella paperella di gomma come quella gialla che usava Greg Pugh o quella nera con la scritta Berlin che ora capeggia sopra alla mia postazione di lavoro!

Se vuoi approfondire l’argomento, qui trovi un intero sito tributo alla tecnica del Rubber Duck Debugging.

Articolo scritto da