Когда я попадаю в тупик с кодом или дизайном, я обычно нахожу коллегу, не являющегося разработчиком, с которым можно обсудить проблему. Это заставляет меня объяснить проблему в мельчайших подробностях, и обычно я нахожу то, что упустил в процессе.
Каковы ваши методы "отвязки"?
Некоторые из моих тактик:
- Объясните проблему кому-нибудь или даже никому. Моя девушка объясняла проблемы картошке, которую она держала.
- Немного поработайте над чем-то другим (если позволяет возможность) — над каким-нибудь другим функционалом или даже над другим проектом. Отвлекитесь от текущего проекта. Часто проблемы, которые кажутся неразрешимыми в 16:30, кажутся тривиальными в 9:30 утра следующего дня.
- Сходите в паб (если есть возможность). Тот же принцип, что и выше.
- Ударься об него головой. Это не всегда продуктивно для решения проблемы, но, по крайней мере, для меня я склонен многому учиться. Если мой gridview не выполняет автоматическую сортировку, я попытаюсь прочитать все, что смогу, о проблеме. Мне все еще потребуется 3 часа, чтобы исправить глупую ошибку с моей стороны, но к концу я узнаю все, что нужно знать о gridviews и о том, как они связываются с данными - я смогу решить любое число подобных проблем в будущем.
- Получите еще один вклад — желательно от кого-то, кто хоть что-то знает о контексте проекта. Большинство моих ошибок — глупые, которые требуют всего несколько минут от второй пары глаз, чтобы решить то, на что у меня ушли бы часы.
- Изолируйте проблему. У меня есть папка с пометкой «доказательство ошибок», в которой я храню кучу проектов, каждый из которых воспроизводит конкретную проблему вне общего контекста большого и сложного проекта. Это может занять немного времени, но позволяет сузить круг причин проблемы независимо от огромного количества мешающих факторов большого проекта.