고무 오리 디버깅
소프트웨어 공학에서 고무 오리 디버깅(영어: rubber duck debugging)은 코드를 디버깅하는 방법이다. 이름은 《실용주의 프로그래머》라는 책에 나오는 이야기에서 따온 것으로, 이 이야기에서 프로그래머는 고무 오리를 들고 다니며 코드를 한 줄씩 오리에게 설명하도록 스스로를 강제한다.[1] 이 기술을 부르는 용어는 다양하며, 종종 다른(일반적으로) 무생물이나 개나 고양이 같은 반려동물 등이 포함된다.
많은 프로그래머가 어떤 문제를 다른 사람에게 설명해본 경험이 있는데, 그 다른 사람 중에는 프로그래밍에 대해 전혀 모르는 사람도 있을 것이며, 문제를 설명하는 과정에서 해결책을 우연히 찾아내게 된다. 코드가 수행해야 할 작업을 설명하고 실제로 무슨 작업을 수행하는 지 관찰하면 이 둘 사이의 불일치는 명백해진다.[2] 보다 일반적으로, 문제를 가르치는 것은 다른 관점에서 문제를 평가하도록 만들고, 더 깊은 이해를 제공할 수 있다.[3] 무생물 개체를 이용하면 프로그래머가 다른 사람을 방해하지 않고 이 작업을 수행할 수 있다.
대중문화
편집“ | 통찰은 종종 단순히 문제를 큰 소리로 설명함으로써 발견된다. | ” |
— 오리, 쿽 오버플로
|
2018년 4월 1일 스택 익스체인지라는 웹사이트에서 쿽 오버플로(Quack Overflow)라는 새로운 기능으로 고무 오리 아바타를 도입하였다. 이 오리는 브라우저 뷰포트의 오른쪽 하단 모서리에 나타나 방문자의 문제를 듣고 솔루션으로 응답하는 방식으로 방문자를 돕고자 하였다. 그러나 이 오리는 겉보기에는 생각하고 타자를 치는 것으로 보이나 실제로는 꽥꽥 소리를 낼 뿐이었다. 문제 해결을 위한 강력한 방법으로써 러버 더킹(rubber ducking)을 참조한 것이었다.[4] 오리를 처음 본 일부 방문자는 이것이 만우절 농담임을 깨닫기 전에 멀웨어 프로그램이 컴퓨터에 설치되었다고 생각하며 혼란에 빠졌다.[5]
같이 보기
편집각주
편집- ↑ 《The Pragmatic Programmer: From Journeyman to Master》. Addison Wesley. ISBN 978-0201616224. p. 95, footnote.
- ↑ Baker, SJ, 《The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability》.
- ↑ 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일에 확인함.
- ↑ “Stack Exchange has been taken over by a rubber duck!”. 《Meta Stack Exchange》. 2018년 3월 31일. 2018년 4월 1일에 확인함.
- ↑ Purushothaman, Praveen Kumar (2018년 3월 31일). “Quack Overflow - Stack Overflow's take on April Fool!”. 《Adventures (Blog)》. 2018년 4월 1일에 확인함.