Технологические ипохондрики

Spread the love

Это перевод Technology hypochondriacs. Автор: Реймонд Чен.

Я часто замечаю один феномен, который я буду называть «технологическая ипохондрия» — вера в то, что вы страдаете от проблемы (перевод поста), о которой только что прочитали (перевод поста). Для этого есть бородатый анекдот:

К доктору пришёл один мужчина: «Доктор», — сказал он. — «Я просто уверен, что у меня именно эта болезнь. Совпадают все симптомы: у меня усталость, раздражительность и потеря памяти.»

«Вы знаете», — ответил доктор. — «Я же, напротив, просто уверен, что вы не страдаете от менопаузы.»


Один из моих знакомых, врач в обычной больнице, сказал мне, что, исходя из его наблюдений, вам никогда не следует верить диагнозу студентов: «Мы приводим их сюда, показываем пациента и спрашиваем, чем, по их мнению, он болеет. И знаешь что? Они всегда называют то, про что им читали на последней неделе на лекциях».

Если я пишу про то, как программа может зависнуть, это совсем не означает, что именно в этом кроется причина зависания вашей программы. Программа может зависнуть из-за миллиона причин, большинство из которых имеют один и тот же симптом: «Когда я щёлкаю по программе, ничего не происходит». Этого не достаточно, чтобы сделать диагноз. А чтобы сделать диагноз, вам нужно взять отладочный инструмент, подключить его к программе и проанализировать, почему поток, ответственный за UI (как правило — главный), не обрабатывает сообщения (вот, к примеру, как это сделал Марк Руссинович при диагностике задержек запуска процесса; этот случай даже я вижу в первый раз). Прим.пер.: а вот как это делали мы.

Если вы задаёте в комментариях к моим постам вопрос: «Это поэтому моя программа тоже так делает?», то не ждите от меня ответа. Это всё равно что писать письмо в газету для колонки «Здоровье»: «У меня усталость и потеря аппетита. У меня СПИД?».

Читать на сайте автора.

0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *