Хорошие и плохие вопросы
А сейчас я собираюсь показать на конкретных примерах, как надо правильно задавать вопросы. Я представлю пару вопросов об одной и той же проблеме, один — заданный глупо, а второй — правильно.
Глупо: Где мне найти информацию о Foonly Flurbamatic
Этот вопрос просто напрашивается на ответ «STFW».
Правильно: Я попытался поискать информацию в Web с помощью Google по запросу «Foonly Flurbamatic 2600», но полезных ссылок не получил. Не знает ли кто-нибудь, где найти информацию о программировании этого устройства?
Этот вопрошающий уже поискал в Web, и похоже, у него реальная проблема.
Глупо: Я не могу скомпилировать код проекта foo. Почему он некорректен?
Он думает, что кто-то другой облажался. Самоуверенный тип.
Правильно: Код проекта foo не компилируетя в ОС Nulix версии 6.2. Я прочитал ЧаВО (FAQ), но там нет ничего о проблемах с Nulix. Вот запись сеанса компиляции. Что я сделал неправильно?
Он указал среду, прочитал часто задаваемые вопросы, показал сообщение об ошибке, и он не думает, что причина его проблемы в ошибке кого-то другого. Этому парню можно уделить немного внимания.
Глупо: У меня проблемы с материнской платой. Не может ли кто-нибудь мне помочь?
Любой хакер на такой вопрос в уме ответит скорее всего так: «Хорошо. Может, тебе ещё помочь срыгнуть и пелёнку поменять?», и нажмёт на клавишу Delete.
Правильно: Я пробовал X, Y и Z на материской плате S2464. Когда это не сработало, я попробовал A, B и C. Обратите внимание на странный симптом при попытке сделать C. Очевидно, что эта фигня не фурычит, но результаты получаются непредсказуемые. Что обычно приводит к тому, что не фурычат многопроцессорные материнские платы с Athlon? Нет ли у кого идей для дополнительных тестов, которые помогут изолировать проблему?
Этот товарищ, напротив, кажется достоин ответа. Он продемонстрировал способность решать проблемы, а не просто ждёт, пока ответ упадёт ему с неба.
В последнем вопросе обратите внимание на небольшую, но важную разницу между «Дайте мне ответ» и «Пожалуйста, помогите разобраться, какие дополнительные диагностические действия можно выполнить, чтобы прояснить ситуацию».
Фактически, пример последнего вопроса очень похож на вопрос из реальной жизни в августе 2001 года в списке рассылки linux-kernel (lkml). Я (Эрик) задал тогда этот вопрос. Я наблюдал странные зависания на материнской плате Tyan S2462. Участники списка рассылки предоставили ценную информацию, позволившую мне от этих зависаний избавиться.
Задавая вопрос так, как это сделал я, вы даёте людям пищу для размышлений. Я сделал для них участие в решении проблемы простым и привлекательным. Я продемонстрировал уважение способностей коллег и пригласил их к обсуждению на равных. Я также продемонсрировал, что ценю их время, описав по каким тупиковым ветвям я уже прошёл.
В конечном итоге, когда я поблагодарил всех и подчеркнул, насколько хорошо прошёл процесс решения проблемы, один из участников списка рассылки обратил внимание на то, что, по его мнению, всё получилось не потому, что я «известный человек» в этом списке рассылки, а из-за правильной формы постановки вопроса.
Хакеры, в определённом отношении, очень жестокая интеллектуальная элита (в оригинале — meritocracy. Прим. переводчика В.К.). Я уверен, что прав, и если бы я облажался, то был бы раскритикован или проигнорирован, независимо от прежних заслуг. Его предложение описать ситуацию в качестве инструкции для всех остальных стало непосредственной причиной составления этого руководства.
Если ответ так и не получен
Если вы не получили ответа, не принимайте это на свой счёт, как наш отказ помочь лично вам. Иногда участники форума просто не знают ответ. Отсутствие ответа не равносильно игнорированию, хотя извне разницу заметить сложно.
В общем случае, повторная отправка вопроса будет не самой лучшей идей. Это будет расценено как бессмысленная надоедливость. Имейте терпение, отвечающий вам человек может находиться в другом часовом поясе и в это время спать. Или может оказаться, что ваш вопрос не был хорошо сформулирован, чтобы было с чего начать.
Есть и другие источники помощи, к которым можно обратиться, причём часто более приспособленные к нуждам начинающих.
Существует множество групп пользователей в сети и на местах, с энтузиазмом занимающихся программным обеспечением, хотя многие их участники в жизни не написали ни одной серьёзной программы. Эти группы часто формируются для того, чтобы участники помогали друг другу и новым пользователям.
Есть также масса коммерческих компаний, с которыми можно заключить контракт на поддержку, как крупных, так и маленьких (одни из наиболее известных — RedHat и SpikeSource). Пусть вас не пугает идея платить за поддержку. В конце концов, если необходим капремонт двигателя автомобиля, вы ведь отдадите его в мастерскую и заплатите за ремонт. Даже если программное обеспечение ничего не стоило, нельзя рассчитывать, что его всегда будут бесплатно поддерживать.
У популярного программного обеспечения, вроде Linux, на одного разработчика приходится, по крайней мере, 10000 пользователей. Один человек просто не может справиться с поддержкой 10000 пользователей. Помните, что даже если за поддержку приходиться платить, это всё равно обходится намного дешевле, чем когда приходиться покупать ещё и само программное обеспечение (да и поддержка закрытого программного обеспечения обычно стоит дороже и выполняется менее компетентными специалистами, чем в случае программного обеспечения с открытым исходным кодом).
Как правильно и грамотно отвечать на вопросы
Будьте великодушны. Связанный с проблемой стресс может делать невежливыми или глупыми людей, которые таковыми не являются.
На первую ошибку укажите в частном порядке. Нет необходимости публично унижать человека, который возможно, честно ошибается. Начинающий пользователь может не знать, как искать в архивах или где находится или публикуется список часто задаваемых вопросов (FAQ).
Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа. Не направляйте людей по ложному пути просто потому, что вам приятно быть в роли эксперта. Будьте скромны и честны. Показывайте хороший пример для спрашивающих коллег.
Если вы не можете помочь, не мешайте. Не шутите по поводу процедур, которые могут разрушить среду пользователя — этот болван может принять ваши шутки как руководство к действию.
Задавайте дополнительны вопросы, чтобы получить больше информации. Если это делать правильно, спрашивающий кое-чему научится, — да и вы тоже. Попытайтесь превратить плохой вопрос в хороший, и помните, все мы были когда-то начинающими.
Хотя простой ответ RTFM бывает оправдан, когда даётся просто лентяю, URL (ссылка) на документацию (даже если это набор ключевых слов для поиска в Google) всё же лучше.
Если уж вы отвечаете на вопрос, давайте ответ по сути. Не предлагайте наспех придуманные обходные пути, если используется в принципе не то средство или неверный подход. Предлагайте хорошие средства. Переформулируйте вопрос.
Помогите сообществу извлечь пользу из вопроса. Когда встречаетесь с хорошим вопросом, спросите себя: «Как надо изменить соответствующую документацию или список ЧаВО, чтобы больше этот вопрос никто не задавал?» Затем отправьте соответствующее дополнение тому, кто поддерживает эти документы.
Если для ответа на вопрос пришлось провести исследование, поделитесь своим опытом, а не пишите так, как будто ответ свалился на вас с неба. Ответить на один хороший вопрос — это как накормить голодного один раз, а вот изложить методику исследования на примере, — значит научить добывать еду на всю жизнь.
Дополнительные источники информации
Если вам необходима информация (info) по основам работы персональных компьютеров, ОС UNIX и сети Интернет, см. руководство The Unix and Internet Fundamentals HOWTO.
При создании программного обеспечения или выпуске исправлений для программ, постарайтесь следовать принципам, изложенным в руководстве Software Release Practice HOWTO.
Благодарности
Эвелин Митчел (Evelyn Mitchell) предложила прокомментировать ряд глупых вопросов и вдохновила на написание раздела «Как давать хорошие ответы». Михаил Рамендик дал ряд ценных предложений по улучшению документа.
Об этом переводе
За основу данного перевода я взял уже существующий перевод Валерия Кравчука. К сожалению, находившееся здесь однажды стал недоступен, да и версия самого перевода устарела. Поэтому я немного «причесал» текст (перестроил некоторые фразы, которые на мой взгляд стали лучше звучать), перевёл появившиеся дополнения. Насколько получилось, не мне судить, но буду рад любым отзывам как на своём блоге, так и по электронной почте.
- Подпись автора
Кто продает?! - Мы продаем! Забиваем, продаем!!!