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

Почему общение с резиновой уткой может сделать вас лучшим программистом

Отладка резиновых уток существует уже давно. Он был популяризирован Эндрю Хантом и Дэвидом Томасом в их книге «Прагматичный программист» в 1999 году. В этой истории я хочу показать, почему он актуален и сегодня.

Мы, наверное, все были в такой ситуации: вы застреваете, пытаясь решить проблему, и разочаровываетесь, поэтому просите друга или коллегу помочь вам. Вы начинаете описывать свою проблему с более высокого уровня, а затем шаг за шагом переходите к деталям. Внезапно, еще до того, как вы успели задать свой вопрос, вы осознаете логическую ошибку, которую допустили. Если ваш коллега ничего не сказал, процесс отступления от вашей проблемы и объяснения ее кому-то еще заставил вас решить свою проблему.

Вместо того, чтобы приставать к коллеге со своими проблемами, вы могли бы также поговорить с резиновой уткой (или кем-нибудь еще).

Отладка резиновых уточек не только поможет вам выйти из тупика, но и поможет вам лучше решать проблемы. Вот три причины, почему эта техника важна для программиста:

1. Получите другую точку зрения

Объяснение вашей проблемы кому-то или чему-то еще требует от вас вернуться к началу вашего собственного анализа. Если вы сформулируете свою ситуацию так, чтобы ее мог понять даже человек, не являющийся техническим специалистом, это заставит вас взглянуть на нее с другой точки зрения. Он выявляет ложные предположения и логические ошибки, которые вы допустили на этом пути, заставляя вас думать о своем коде построчно более объективно.

2. Улучшить самоанализ

Когда вы продолжите практиковать эту технику, вы вскоре заметите, что стали реже застревать, потому что, решая вопрос, вы уже будете думать о том, как бы вы объяснили это кому-то другому. Еще до того, как вы заговорите с уткой, вы разбиваете сложный код на более мелкие фрагменты, чтобы вам было легче резюмировать проблему, если вы снова застрянете.

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

3. Улучшите свои навыки общения

Как часто бывает, лучший способ чему-то научиться — это практика. Разговаривая с резиновой уткой снова и снова, вы улучшите свои коммуникативные навыки. Вы научитесь объяснять сложные проблемы, разбивая их на более мелкие части и объясняя технические вопросы аудитории, не имеющей технических знаний. Это сделает вас лучшим учителем, ведущим и командным работником в целом.

Заключение

На первый взгляд отладка с помощью резиновой утки кажется глупой, но это мощный инструмент для поиска и устранения проблем. Это относится не только к программированию, но и может помочь вам в других сферах жизни. Это заставляет вас думать о проблеме по-другому, выявляет скрытые предположения и оттачивает ваши коммуникативные навыки. Вдобавок ко всему, это не должно вам ничего стоить, просто возьмите плюшевую, вашу любимую игрушку или настоящую резиновую утку и вперед!