고무 오리 디버깅

위키백과, 우리 모두의 백과사전.

코드 검토를 위해 개발자가 사용하는 고무 오리

소프트웨어 공학에서 고무 오리 디버깅(영어: 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》. 2014년 7월 9일에 원본 문서에서 보존된 문서. 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일에 확인함. 

외부 링크[편집]