Метод утёнка

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Игрушечный утёнок

Метод утёнка (англ. Rubber duck debugging) — психологический метод решения задачи за счёт делегирования её мысленному помощнику. Метод описан в книге Энди Ханта «Программист-прагматик  (англ.)»[1].

Суть метода заключается в том, что тестируемый ставит на рабочем столе игрушечного утёнка (резиновая уточка — это условность, на практике можно использовать любой предмет, символизирующий одушевлённого помощника), и когда у него возникает вопрос, на который трудно ответить, он задаёт вопрос игрушке так, словно она действительно может ответить. Автор книги предполагает, что правильная формулировка вопроса содержит половину ответа на него, при этом постановка задачи в виде вопроса воображаемому собеседнику даёт толчок мыслям, направляя их в нужное русло, переводя «поток сознания» в вид формальных терминов.

Метод также используется при отладке. Если определённая часть программы не работает, программист пытается последовательно объяснить утёнку, что делает каждая строка программы и, в процессе этого, сам находит ошибку. Такой метод отладки, по сути, представляет собой Code review в ходе которого программист «призывает» на помощь воображаемого помощника.

Интересные факты[править | править код]

1 апреля 2018 года Stack Exchange представила на своих сайтах новую функцию — Quack Overflow, утку, появляющуюся в правом нижнем углу окна просмотра браузера и пытающуюся помочь посетителю, слушая его проблему и отвечая. После «выслушивания» вопроса и его «обработки», утка просто производит звук «кряканья» и ссылается на статью о методе утёнка, как о мощном методе решения проблем. Смущённые посетители, увидев утку впервые, подумали, что на их компьютерах установлено вредоносное программное обеспечение прежде, чем осознать, что это первоапрельская шутка.[источник не указан 1180 дней][значимость факта?]

В художественной литературе[править | править код]

Я имел возможность поразмыслить и поговорить с тобою. Правда, я подозреваю, что ты не все понял из моих слов. Но благодаря твоему вниманию я сумел сформулировать свою мысль. А это не так уж мало.

Александр Немировский «Разговор с ослом»

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

  1. Andrew Hunt. The Pragmatic Programmer: From Journeyman to Master (англ.). — ISBN 0-201-61622-X.