Rubber duck debugging: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: thumb|Una papera di gomma usata in fase di debug Nell'ingegneria del software, viene indicata come '''rubber duck...
 
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.2
 
(12 versioni intermedie di 9 utenti non mostrate)
Riga 1:
[[File:Rubber duck assisting with debugging.jpg|thumb|Una papera di gomma usata in fase di debug]]
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,<ref name="pragprog">{{CiteCita booklibro | isbn = 978-02016162240-201-61622-4 | url = httphttps://pragprog.com/the-pragmatic-programmer | title titolo= The Pragmatic Programmer: From Journeyman to Master | publisher editore= Addison Wesley |accesso= 4 maggio 2019 |dataarchivio= 27 settembre 2015 |urlarchivio= https://web.archive.org/web/20150927204842/https://pragprog.com/the-pragmatic-programmer |urlmorto= sì }} p. 95, footnote.</ref> ma la tecnica è nota anche sotto diversi nomi, che tipicamente si riferiscono ad altri oggetti animatiinanimati.
Descrivendo dettagliatamente il funzionamento atteso del programma, ed osservando allo stesso tempo quello che effettivamente il codice fa, eventuali incongruenze possono venire a galla.<ref name="cardboarddog">{{Citation | url = http://www.sjbaker.org/humor/cardboard_dog.html | title = The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability | last = Baker | first = SJ}}.</ref>
 
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.<ref name="cardboarddog">{{Citation | url = http://www.sjbaker.org/humor/cardboard_dog.html | title = The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability | last = Baker | first = SJ}}.</ref> In generale, spiegare un argomento porta ad osservare lo stesso da un differente punto di vista, che può condurre ad una comprensione più profonda.<ref>{{citeCita web|last1cognome1=Hayes|first1nome1=David|titletitolo=The Psychology Underlying the Power of Rubber Duck Debugging|url=http://pressupinc.com/blog/2014/06/psychology-underlying-power-rubber-duck-debugging/|websitesito=Press Up|accessdateaccesso=3 Julyluglio 2015|datedata=25 Junegiugno 2014|urlarchivio=https://web.archive.org/web/20150706204000/http://pressupinc.com/blog/2014/06/psychology-underlying-power-rubber-duck-debugging/|dataarchivio=6 luglio 2015|urlmorto=sì}}</ref> L'uso di oggetti inanimati elimina il problema di dover coinvolgere un'altra persona nel processo.
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,<ref name="pragprog">{{Cite book | isbn = 978-0201616224 | url = http://pragprog.com/the-pragmatic-programmer | title = The Pragmatic Programmer: From Journeyman to Master | publisher = Addison Wesley}} p. 95, footnote.</ref> ma la tecnica è nota anche sotto diversi nomi, che tipicamente si riferiscono ad altri oggetti animati.
 
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.<ref name="cardboarddog">{{Citation | url = http://www.sjbaker.org/humor/cardboard_dog.html | title = The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability | last = Baker | first = SJ}}.</ref> In generale, spiegare un argomento porta ad osservare lo stesso da un differente punto di vista, che può condurre ad una comprensione più profonda.<ref>{{cite web|last1=Hayes|first1=David|title=The Psychology Underlying the Power of Rubber Duck Debugging|url=http://pressupinc.com/blog/2014/06/psychology-underlying-power-rubber-duck-debugging/|website=Press Up|accessdate=3 July 2015|date=25 June 2014}}</ref> L'uso di oggetti inanimati elimina il problema di dover coinvolgere un'altra persona nel processo.
 
== Note ==
<references />
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Cita web | url = https://rubberduckdebugging.com | title titolo= Rubber duck debugging}}
* {{Cita web | url = http://www.codinghorror.com/blog/2012/03/rubber-duck-problem-solving.html | titletitolo = Rubber Duck Problem Solving | accesso = 7 luglio 2017 | dataarchivio = 8 febbraio 2014 | urlarchivio = https://web.archive.org/web/20140208160307/http://www.codinghorror.com/blog/2012/03/rubber-duck-problem-solving.html | urlmorto = sì }}
{{portale|informatica}}