27-10-2023  (250 ) Categoria: Articles

Rubber duck debugging - mètode de l'ànec de goma

Un ànec "examinant" el codi Java.

El Rubber duck debugging, també conegut com a mètode de l'ànec de goma, és una pràctica de revisió del codi font utilitzada en enginyeria de programari en les fases de depuració.

Resum

Principi

Ànec de plàstic en un entorn de desenvolupament.

El mètode de l'ànec de plàstic consisteix a explicar meticulosament el codi font que heu escrit a un col·lega, a un espectador o fins i tot a un objecte inanimat com un ànec de plàstic1,2. El simple fet d'expressar els propis pensaments en veu alta se suposa que ajuda a trobar errors de programació. Com que les reaccions de l'interlocutor o el seu nivell de comprensió del problema són irrellevants en aquest procés, és possible substituir-lo per un ànec de plàstic.

Quan el programador o analista explica un tros de codi o un algoritme que és incorrecte, pot ser que s'adoni del seu error. El mètode de l'ànec de goma explota un mitjà que pot ajudar a imaginar un nou context, afavorint una transposició, obligant així al programador a explicar l'implícit, adaptant-lo per fer-lo entendre des d'un altre punt de vista. És probable que això confronti el dissenyador amb el fet que el codi que van escriure no coincideix amb el codi que pretenien escriure.

L'avantatge de l'ànec de plàstic sobre un interlocutor humà és que la seva capacitat d'escolta i paciència són il·limitades. El seu temps també és menys valuós que el d'un consultor o col·lega3. El fet que sigui petita fa que es col·loqui discretament al costat d'una pantalla d'ordinador.

Aquest principi també és útil per a altres tipus de treball. Per exemple, un projecte que s'ha de presentar oralment mitjançant una presentació de diapositives. Tot el que has de fer és descriure el projecte a una persona o al seu ànec de plàstic perquè ho faci de la manera més senzilla possible, que et permeti trobar un fil natural.

Origen

El llibre d'Andrew Hunt i David Thomas, The Pragmatic Programmer: From Journeyman to Master, publicat el 1999, sembla ser el primer a esmentar el mètode de l'ànec de goma amb aquest nom4. Segons el llibre, Thomas va sortir amb un estudiant de l'Imperial College de Londres anomenat Greg Pugh, que tenia fama de ser un excel·lent programador. Greg Pugh portava un ànec de goma groga amb ell en tot moment i va explicar el procés a David Thomas a petició seva.

Aquest mètode es va fer famós el 2002 per Andrew Errington en un fòrum en línia5.

Brian Kernighan i Rob Pike també van descriure el mètode en un llibre en paper publicat el 1999, però amb referència a un osset de peluix6. Stephen J. Baker ho va descriure utilitzant una figureta de gos de cartró en lloc d'un ànec de goma3. Russ Freeman suggereix utilitzar una efígie de cartró d'un company programador7.

Aquesta tècnica s'ensenya a la Universitat de Sherbrooke sota el nom de "parlar amb una planta verda"8.

Notes i referències

  1. ↑ Equipament essencial - El tercer bit [arxiu].
  2. ↑ Com es diu aquest tipus particular de revelació? - Desbordament de pila [arxiu].
  3. ↑ Revenir plus haut en :Ha i b La contribució del gos retallable de cartró a la fiabilitat i mantenibilitat del programari [arxiu].
  4. Andrew Hunt i David Thomas, The Pragmatic Programmer: From Journeyman to Master, Addison-Wesley Professional, octubre de 1999, 352 p. (ISBN 978-0-201-61622-4), p. 95.
  5. ↑ Descripció del mètode [arxiu] per Andrew Errington.
  6. ↑ Brian Kernighan i Rob Pike, La pràctica de la programació, Addison-Wesley Professional, febrer de 1999, 288 p. (ISBN 978-0-201-61586-9, llegit en línia [arxiu])), p. 123.
  7. ↑ Programador de cartró [arxiu].
  8. ↑ « IGL501 Mètodes formals en enginyeria del programari »(Archive.org • Wikiwix • Archive.is • Google • Què fer?), el www.dmi.usherb.ca (consultat el 23 març 2015).

Vegeu també

articles relacionats

Enllaç extern




versió per imprimir

    Afegeix-hi un comentari:

    Nom a mostrar:
    E-mail:
    Introduïu el codi de seguretat
    Accepto les condicions d'ús següents:

    _KMS_WEB_BLOG_COMMENTS_ADVICE