вторник, 15 сентября 2009 г.

Правим баги. Подсознательно

Попросил меня сегодня коллега помочь разобраться с багом. Ничто не предвещало серьезных проблем (хотя чужой код - всегда потемки). Однако наскоком решить проблему не удалось. По прошествии двух часов, я уже перепробовал все мыслимые-немыслимые варианты, нагуглил целый ворох подобных топиков/постов - все не то. Попробовал отвлечься ненадолго - результат тот же. Сидел уже в каком-то отрешенном состоянии (думаю, каждый программист бывал в подобной ситуации, когда от кажущейся безысходности руки опускаются и голова отказывается искать новые варианты). И тут неожиданно в голову пришла мысль: "А не убрать ли мне этот using (оставив, конечно же, сам код внутри блока)" (речь об операторе using в C#, который после выхода из блока вызывает метод Dispose). Мысль возникла изниоткуда: я не пришел к ней логическим путем - просто неожиданно мне захотелось убрать using и посмотреть, что будет. Все еще находясь в "анабиозе", я запустил приложение - к моему удивлениею, все заработало. После этого разобраться, в чем же была истинная причина ошибки, было делом техники.

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

P. S. Не секрет, что подобным образом свершалось немало открытий... но приятно иногда прочувствовать это на себе.

PP. S. С какой легкостью после этого закрывается море вкладок в браузере, которые, как казалось, могли помочь...

3 комментария:

Artur комментирует...

..а через некоторое время перестаешь удивляться таким находкам :)

но приятно-то по прежнему :)

chidori комментирует...

Правду говоришь :)

Gallileo Father комментирует...

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