Резиновый утенок - это больше, чем просто забавная фраза - это было и было для многих разработчиков находкой. Простой по своей природе, но мощный по исполнению, Rubber ducking может сэкономить вам массу времени при столкновении с проблемами с вашим кодом.
По определению, «резиновый утенок» - это краткая форма от «отладки резиновой утки», и это просто метод отладки кода. Создан на основе книги, в которой программист таскал с собой резинового утенка и должен был построчно объяснять ему свой код. Странное происхождение, гениальная концепция!
Метод, лежащий в основе этой концепции, действительно очень прост - объясните свой код кому-нибудь, или неодушевленному объекту, или небу (если вы выбросите эти слова из головы!). Это сделано для того, чтобы вы могли попытаться сломать то, что вы пытаетесь достичь, с помощью кода, в котором вы изначально застряли. Поступая так, вы вынуждены отказаться от собственной головы и фактически объяснить, что происходит с вашим кодом. Очень часто, решив проблему, разработчик может найти решение, не прибегая к помощи Google.
Боковое примечание: в то время как резиновое уклонение неодушевленного предмета работает очень хорошо, почему бы не заняться этим и не заняться резиновым утком с коллегой или другом? Если вы думаете, что объяснение чего-то этой милой орхидее на вашем столе может творить чудеса, представьте, как здорово - резиновая утка с кем-то еще, у кого, вероятно, есть отличный совет или понимание вашей проблемы! Вы никогда не знаете, у кого была дилемма кодирования, практически идентичная вашей, и у кого есть именно тот совет, который вам нужен для решения этой проблемы.
Вдобавок ко всему, даже резиновое ныряние с кем-то, у кого нет никакого опыта в программировании, также может быть фантастическим преимуществом. Объясняя свой код кому-то, не имеющему реального понимания кода, вы вынуждены разбивать вещи на действительно упрощенные термины таким образом, чтобы это было понятно новичку. Это поможет убрать весь мусор из вашего объяснения и, надеюсь, полностью демистифицировать вещи!