stringtranslate.com

Отладка резиновой утки

Резиновая уточка, используемая разработчиком для облегчения отладки

В программной инженерии отладка с помощью резиновой утки (или rubberducking ) — это метод отладки кода путем формулирования проблемы на устном или письменном естественном языке . Название является отсылкой к истории в книге «Прагматичный программист» , в которой программист носил с собой резиновую утку и отлаживал свой код, заставляя себя объяснять его утке, строка за строкой. [1] Для этой техники существует много других терминов, часто включающих различные (обычно) неодушевленные предметы или домашних животных, таких как собака или кошка. Также широко используются плюшевые мишки . [2] Когда в процесс вовлечены люди, это известно как исповедальное программирование. [3]

Подход

Многие программисты имели опыт объяснения проблемы кому-то другому, возможно, даже тому, кто ничего не знает о программировании, а затем находили решение в процессе объяснения проблемы. При описании того, что должен делать код, и наблюдении за тем, что он на самом деле делает, любое несоответствие между этими двумя становится очевидным. [4] В более общем плане, преподавание предмета заставляет оценивать его с разных точек зрения и может обеспечить более глубокое понимание . [5] Используя неодушевленный предмет, программист может попытаться достичь этого, не прерывая никого другого, и с лучшими результатами, чем те, которые наблюдались при простом размышлении вслух без аудитории. [6] Этот подход преподавался на курсах по информатике и программной инженерии. [7] [8]

В популярной культуре

1 апреля 2018 года Stack Exchange представил на своих сайтах аватар резиновой утки в качестве новой «функции» под названием Quack Overflow в качестве шутки на День дурака . Утка появилась в правом нижнем углу окна просмотра браузера и попыталась помочь посетителям, выслушав их проблемы и ответив решениями. Однако утка просто издала звук кряканья после того, как, по-видимому, подумала и набрала текст. Она ссылалась на резиновую утку как на мощный метод решения проблем. [9]

Смотрите также

Ссылки

  1. ^ Хант, Эндрю; Томас, Дэвид (1999). Прагматичный программист: от подмастерья до мастера . Эддисон Уэсли. ISBN 978-0201616224.стр. 95, сноска.
  2. ^ Отладка, Rubber Duck. "Отладка Rubber Duck". rubberduckdebugging.com . Архивировано из оригинала 12 ноября 2020 г. . Получено 14 сентября 2023 г. .
  3. ^ Дакинг, резина. "Резиновая уточка". Резиновая уточка . Архивировано из оригинала 5 апреля 2024 года . Получено 4 апреля 2024 года .
  4. Бейкер, С. Дж., Вклад картонной собаки в надежность и удобство обслуживания программного обеспечения, архивировано из оригинала 5 октября 2013 г. , извлечено 9 февраля 2011 г..
  5. ^ Хейс, Дэвид (25 июня 2014 г.). «Психология, лежащая в основе силы отладки резиновой утки». Нажмите Up через интернет-архив . Архивировано из оригинала 9 июля 2014 г. Получено 10 сентября 2021 г.
  6. ^ Берд, Ник; Джозеф, Брианна; Гонгора, Габриэла; Сирота, Мирослав (2023). «Расскажите нам, что вы действительно думаете: анализ протокола «Мысли вслух» теста на вербальную когнитивную рефлексию». Журнал разведки . 11 (4): 76. doi : 10.3390/jintelligence11040076 . PMC 10146599. PMID  37103261 . 
  7. ^ Эттвуд, Джефф (2012). «Решение проблем с резиновой уткой». codinghorror.com . Архивировано из оригинала 12 февраля 2022 г. . Получено 16 ноября 2021 г. .
  8. ^ Малан, Дэвид (2020). «Отладка Rubber Duck в CS50 IDE». observed.news .
  9. ^ «Stack Exchange захвачен резиновой уткой!». Meta Stack Exchange . 31 марта 2018 г. Получено 1 апреля 2018 г.

Внешние ссылки