Rubber duck debugging

A szoftverfejlesztésben a rubber duck debugging (gumikacsa-hibakeresés) a kód hibakeresésének olyan módszere, amely a probléma szóbeli vagy írott természetes nyelven történő megfogalmazásával történik. Az elnevezés a The Pragmatic Programmer című könyvben található történetre utal, amelyben egy programozó egy gumikacsát cipel magával, és úgy keresi a hibákat a kódjában, hogy sorról sorra elmagyarázza azt a kacsának.[1] Számos más kifejezés létezik erre a technikára, gyakran különböző (általában) élettelen tárgyakkal vagy háziállatokkal, például kutyával vagy macskával.

Rubber duck assisting with debugging.jpg

Sok programozónak volt már olyan élménye, hogy elmagyarázott egy problémát valakinek, esetleg olyan valakinek is, aki semmit sem tud a programozásról, és a probléma elmagyarázása közben rátalált a megoldásra. Amikor leírja, hogy mit kellene tennie a kódnak, és megfigyeli, hogy mit csinál valójában, a kettő közötti esetleges ellentmondás nyilvánvalóvá válik.[2] Általánosabban, egy téma tanítása rákényszeríti annak értékelését különböző nézőpontokból, és mélyebb megértést biztosíthat.[3] Egy élettelen tárgy használatával a programozó megpróbálhatja ezt elérni anélkül, hogy bárki mást be kellene vonnia. Ezt a megközelítést már tanították informatikai és szoftvermérnöki kurzusokon.[4][5]

A populáris kultúrábanSzerkesztés

  • 2018. április 1-jén a Stack Exchange bevezetett egy gumikacsás avatárt a weboldalain mint új funkciót Quack Overflow néven. A kacsa a böngésző nézetablakának jobb alsó sarkában jelent meg, és úgy próbált segíteni a látogatóknak, hogy meghallgatta a problémáikat, és megoldásokkal válaszolt rájuk. A kacsa azonban a látszólagos gondolkodás és gépelés után csupán egy hápogó hangot adott ki. A kacsa a gumikacsázásra, mint a problémák megoldásának hatékony módszerére hivatkozott.[6] Néhány zavart látogató, aki először látta a kacsát, azt hitte, hogy egy rosszindulatú program települt a számítógépére, mielőtt rájött volna, hogy ez egy áprilisi tréfa.[7]
  • A Mátrix: Feltámadások című filmben a főszereplő, Thomas Anderson, aki mellesleg programozó, egy kád vízben ülve, fején egy gumikacsával gondolkodik.[8]

ForrásokSzerkesztés

  1. The Pragmatic Programmer: From Journeyman to Master. Addison Wesley (1999). ISBN 978-0201616224  p. 95, footnote.
  2. Baker, SJ, The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability, <http://www.sjbaker.org/humor/cardboard_dog.html>.
  3. The Psychology Underlying the Power of Rubber Duck Debugging. Press Up via Internet Archive , 2014. június 25. [2014. július 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2021. szeptember 10.)
  4. Attwood, Jeff: Rubber Duck Problem Solving. codinghorror.com , 2012
  5. Malan, David: Rubber Duck Debugging in CS50 IDE. noticeable.news , 2020
  6. Stack Exchange has been taken over by a rubber duck!. Meta Stack Exchange , 2018. március 31. (Hozzáférés: 2018. április 1.)
  7. Quack Overflow - Stack Overflow's take on April Fool!. Adventures (Blog) , 2018. március 31. (Hozzáférés: 2018. április 1.)
  8. Mátrix Feltámadások magyar szinkronos előzetes (magyarul)

További információkSzerkesztés

A Wikimédia Commons tartalmaz Rubber duck debugging témájú médiaállományokat.

Kapcsolódó szócikkekSzerkesztés