Случай из практики - писал биллинговую прогу для инета местного провайдера. Подключения (тогда ещё модемное) тарифицировались по времени суток, начало подключения и окончание бралось из текстового файла. В общем несколько дней мучался над модулем разбития по времени и применения нужного тарифа, опыта как такового не было, до этого в основном только для себя и интереса программил. И все, дедлайн, старая программа не подходит т.к. ввели НСП и соответственно подсчет не правильный. Пора сдаваться.
Набрал пива, много пива. Сидел, пил пиво, много думал, по крайней мере сначала. Утром встал (отдельный кабинет с диванчиком был) смотрю - работает, проверил - работает. Глянул код и понял, что без поллитры не разберусь =). Работает - не трожь. По крайней мере, пока дедлайн не пройдет.
Но как и очень часто бывает этот кусок уродливого, трудного для понимания и абсолютно не маштабируемого кода с кучей вложенных циклов и условий (даже странно, что go to не было) прожил до времени поглощения предприятия.
Это просто смешной случай из практики, ни в коем случае не рекомендуется к применению. И для здоровье плохо, и для кода.
А реально самый действенный способ, лично для меня, это рассказать о проблеме, даже не понимающему человеку, да хоть утенку или стене. Пока формулируешь часто приходит решение. Ну и помогает временно отвлечься от проблемы, прогуляться. Поспать. Во сне тоже бывает решение приходит.