Rubbereendontfouting

metode om kode te ontfout deur 'n probleem in gesproke of geskrewe natuurlike taal te artikuleer

In sagteware-ingenieurswese is rubbereendontfouting (of die rubbereendontfoutingsmetode) 'n metode om kode te ontfout deur 'n probleem in gesproke of geskrewe natuurlike taal te artikuleer. Die naam is 'n verwysing na 'n storie in die boek The Pragmatic Programmer waarin 'n programmeerder 'n rubbereend ronddra en sy kode ontfout deur homself te dwing om dit reël vir reël aan die eend te verduidelik.[1] Baie ander terme bestaan vir hierdie tegniek, wat dikwels verskillende (gewoonlik) lewelose voorwerpe of troeteldiere soos 'n hond of 'n kat behels. Teddiebere word ook algemeen gebruik.[2] Wanneer mense betrokke is, staan dit bekend as konfessionele programmering.[3]

'n Rubbereend wat deur 'n ontwikkelaar gebruik word om met ontfouting te help.

Benadering

wysig

Baie programmeerders het die ervaring gehad om 'n probleem aan iemand anders te verduidelik, moontlik selfs aan iemand wat niks van programmering weet nie, en dan die oplossing te vind in die proses om die probleem te verduidelik. Deur te beskryf wat die kode veronderstel is om te doen en waar te neem wat dit werklik doen, word enige teenstrydigheid tussen hierdie twee duidelik.[4] Meer algemeen dwing die onderrig van 'n vak die evaluering daarvan vanuit verskillende perspektiewe af en kan dit 'n dieper begrip verskaf.[5] Deur 'n lewelose voorwerp te gebruik, kan die programmeerder probeer om dit te bewerkstellig sonder om iemand anders te onderbreek, en met beter resultate as wat waargeneem is deur bloot hardop te dink sonder 'n gehoor.[6] Hierdie benadering is in rekenaarwetenskap en sagteware-ingenieurswese-kursusse geleer.[7][8]

In populêre kultuur

wysig

Op 1 April 2018 het Stack Exchange 'n rubbereend-avatar op hul webwerwe bekendgestel as 'n nuwe "funksie" genaamd Quack Overflow as 'n Gekkedag-grap. Die eend het in die onderste regterhoek van die blaaier-kykpoort verskyn en probeer om besoekers te help deur na hul probleme te luister en met oplossings te reageer. Die eend het egter bloot 'n kwakgeluid voortgebring nadat hy glo gedink en getik het. Dit verwys na rubbereendontfouting as 'n kragtige metode om probleme op te los.[9]

Verwysings

wysig
  1. Hunt, Andrew; Thomas, David (1999). The Pragmatic Programmer: From Journeyman to Master. Addison Wesley. ISBN 978-0201616224. bl. 95, voetnota.
  2. Debugging, Rubber Duck. "Rubber Duck Debugging". rubberduckdebugging.com. Geargiveer vanaf die oorspronklike op 12 November 2020. Besoek op 14 September 2023.
  3. Ducking, Rubber. "Rubber Ducking". Rubber Ducking. Geargiveer vanaf die oorspronklike op 5 April 2024. Besoek op 4 April 2024.
  4. Baker, SJ, The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability, http://www.sjbaker.org/humor/cardboard_dog.html, besoek op 9 Februarie 2011 .
  5. Hayes, David (25 Junie 2014). "The Psychology Underlying the Power of Rubber Duck Debugging". Press Up via Internet Archive. Geargiveer vanaf die oorspronklike op 9 Julie 2014. Besoek op 10 September 2021.
  6. Byrd, Nick; Joseph, Brianna; Gongora, Gabriela; Sirota, Miroslav (2023). "Tell Us What You Really Think: A Think Aloud Protocol Analysis of the Verbal Cognitive Reflection Test". Journal of Intelligence. 11 (4): 76. doi:10.3390/jintelligence11040076. PMC 10146599. PMID 37103261.
  7. Attwood, Jeff (2012). "Rubber Duck Problem Solving". codinghorror.com. Geargiveer vanaf die oorspronklike op 12 Februarie 2022. Besoek op 16 November 2021.
  8. Malan, David (2020). "Rubber Duck Debugging in CS50 IDE". noticeable.news.
  9. "Stack Exchange has been taken over by a rubber duck!". Meta Stack Exchange. 31 Maart 2018. Besoek op 1 April 2018.