Меню

Сергей Драган

Разработка игр и разные мысли

Метод утенка

Недавно прочел о дебаге «методом утёнка» (http://en.wikipedia.org/wiki/Rubber_duck_debugging).

Суть проста: столкнувшись с проблемой в коде, которую не удается понять, ставишь перед собой резинового утёнка (или что угодно другое), и объясняешь ему свою проблему так, как будто рассказываешь о ней живому человеку, потому что правильно сформулированный вопрос часто становится ключом к решению.

Стив Макконнелл в главе «Совместное конструирование» книги «Совершенный код» тоже описывает это:

Вероятно, вам знакома одна довольно распространенная ситуация. Вы подходите к столу другого программиста и говорите: «Не мог бы ты взглянуть на этот код? Он не работает». Вы начинаете объяснять: «Причиной не может быть вот это, потому что я сделал то-то и то-то. Причиной также не может быть это, потому что я сделал вот это. Кроме того, причиной не может быть… подожди… Это может быть причиной. Спасибо!» Вы решили проблему, хотя ваш «помощник» не произнес ни слова.

Дергать других я не люблю, потому объяснил проблему первому, что нашлось под рукой — пластиковой бутылке. И что я скажу: это работает! Бутылка не только внимательно и не перебивая выслушала меня, но и быстро помогла найти причину — буквально за двадцать минут после двух часов безуспешного чесания затылка и тяжких вздохов.

Одним словом — ещё одна замечательная вещь из разряда: «Это же так просто, почему я не делал это раньше?!».

quack_quack_mtfckr