고무 오리 디버깅

위키백과, 우리 모두의 백과사전.
코드 검토를 위해 개발자가 사용하는 고무 오리

소프트웨어 공학에서 고무 오리 디버깅(영어: rubber duck debugging)은 코드를 디버깅하는 방법이다. 이름은 《실용주의 프로그래머》라는 책에 나오는 이야기에서 따온 것으로, 이 이야기에서 프로그래머는 고무 오리를 들고 다니며 코드를 한 줄씩 오리에게 설명하도록 스스로를 강제한다.[1] 이 기술을 부르는 용어는 다양하며, 종종 다른(일반적으로) 무생물이나 개나 고양이 같은 반려동물 등이 포함된다.

많은 프로그래머가 어떤 문제를 다른 사람에게 설명해본 경험이 있는데, 그 다른 사람 중에는 프로그래밍에 대해 전혀 모르는 사람도 있을 것이며, 문제를 설명하는 과정에서 해결책을 우연히 찾아내게 된다. 코드가 수행해야 할 작업을 설명하고 실제로 무슨 작업을 수행하는 지 관찰하면 이 둘 사이의 불일치는 명백해진다.[2] 보다 일반적으로, 문제를 가르치는 것은 다른 관점에서 문제를 평가하도록 만들고, 더 깊은 이해를 제공할 수 있다.[3] 무생물 개체를 이용하면 프로그래머가 다른 사람을 방해하지 않고 이 작업을 수행할 수 있다.

대중문화[편집]

2018년 4월 1일 스택 익스체인지라는 웹사이트에서 쿽 오버플로(Quack Overflow)라는 새로운 기능으로 고무 오리 아바타를 도입하였다. 이 오리는 브라우저 뷰포트의 오른쪽 하단 모서리에 나타나 방문자의 문제를 듣고 솔루션으로 응답하는 방식으로 방문자를 돕고자 하였다. 그러나 이 오리는 겉보기에는 생각하고 타자를 치는 것으로 보이나 실제로는 꽥꽥 소리를 낼 뿐이었다. 문제 해결을 위한 강력한 방법으로써 러버 더킹(rubber ducking)을 참조한 것이었다.[4] 오리를 처음 본 일부 방문자는 이것이 만우절 농담임을 깨닫기 전에 멀웨어 프로그램이 컴퓨터에 설치되었다고 생각하며 혼란에 빠졌다.[5]

같이 보기[편집]

참고문헌[편집]

  1. 《The Pragmatic Programmer: From Journeyman to Master》. Addison Wesley. ISBN 978-0201616224.  p. 95, footnote.
  2. Baker, SJ, 《The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability》 .
  3. Hayes, David (2014년 6월 25일). “The Psychology Underlying the Power of Rubber Duck Debugging”. 《Press Up via Internet Archive》. 2021년 9월 10일에 확인함. 
  4. “Stack Exchange has been taken over by a rubber duck!”. 《Meta Stack Exchange》. 2018년 3월 31일. 2018년 4월 1일에 확인함. 
  5. Purushothaman, Praveen Kumar (2018년 3월 31일). “Quack Overflow - Stack Overflow's take on April Fool!”. 《Adventures (Blog)》. 2018년 4월 1일에 확인함. 

외부 링크[편집]