| Glaz |
| Администратор |
|
 |
Репутация: 19 |
 |
| Зарегистрирован: 31.08.2005 |
| Сообщения: 1307 |
|
 |
|
|
 |
 |
 |
|
Чтобы облегчить новичкам жизнь и в целях экономии места в топиках привожу фрагменты статьи "HOWTO. Как правильно задавать вопросы"
Прежде, чем спрашивать...
Прежде, чем задавать технический вопрос по электронной почте или в дискуссионную группу, в чате или на форуме, сделайте следующее:
Процедура 1.
Попытайтесь найти ответ с помошью поиска в Web.
Попытайтесь найти ответ в руководстве.
Попытайтесь найти ответ в списке часто задаваемых вопросов (ЧаВО).
Попытайтесь найти ответ путем проверок или экспериментов.
Спросите опытного товарища.
Если вы - программист, попытайтесь найти ответ, анализируя исходный код.
Когда задаете вопрос, укажите с самого начала, что вы все это уже сделали; это поможет понять, что вы не какой-нибудь лентяй, транжирящий чужое время. Еще лучше, покажите, что вы узнали в результате своих поисков. Нам нравится отвечать людям, продемонстрировавшим свою способность воспринимать ответы.
Используйте приемы типа поиска в Google по тексту полученного сообщения об ошибке (поищите также в дискуссионных группах - Google groups, а не только на Web-страницах). Это может привести либо неспосредственно к документации, посвященной тому, как эту ошибку устранить, либо к дискуссии в списке рассылки, в которой можно будет найти ответ. Даже если ответ и не найдется, фраза: "Я поискал в Google по следующему запросу, но ничего полезного не нашел" пригодится при обращении за помощью по электронной почте или в дискуссионную группу.
Подготовьте вопрос. Продумайте его. На поверхностные вопросы вы получите поверхностные ответы, или вообще ответов не получите. Чем больше вы сделаете, чтобы продемонстрировать свои размышления и усилия по решению проблемы до того, как просить помощи, тем вероятнее, что вы эту помощь получите.
Не задавайте неправильных вопросов. Если вопрос строится на ошибочных предположениях, любой хакер (в оригинале - J. Random Hacker, прим. переводчика), скорее всего, даст бесполезный буквальный ответ, подумав при этом "Глупый вопрос...", и надеясь, что получение того, о чем вы просили, вместо того, что действительно нужно, чему-то вас научит.
Не думайте, что вам должны ответить. Вам никто ничего не должен; вы же, в конечном счете, не платили за эти услуги. Вы получите ответ, если заслужите его, задавая существенный, интересный и наводящий на размышления вопрос — вопрос, неявно дающий сообществу новый опыт, а не просто пассивно требующий от других поделиться знаниями.
С другой стороны, неплохо сразу ясно дать понять, что вы можете и хотите помочь в процессе выработки решения. На вопросы типа "Может ли кто-то подсказать?", "Что не учтено в моем примере?" и "А нет ли сайта, который стоит на эту тему посмотреть?" более вероятно будет получен ответ, чем на требование прислать точную последовательность действий для решения проблемы, поскольку вы явно показали, что решите проблему сами, если кто-то укажет вам правильное направление действий.
Когда спрашиваете...
Правильно выбирайте форум
Тщательно продумайте, где именно задавать вопрос. Вас с большой вероятностью проигнорируют или спишут как неудачника, если вы:
пошлете вопрос в форум, не соответствующий по тематике (off topic)
пошлете самый элементарный вопрос в форум, где обсуждаются сложные технические вопросы, или наоборот
пошлете вопрос одновременно (cross-post) во множество различных дискуссионных групп
пошлете личное сообщение по электронной почте незнакомому человеку, лично не отвечающему за решение ваших проблем
Правильно определите тему! Одна из классических ошибок - задавать вопрос о программном интерфейсе Unix или Windows в форуме, посвященном языку, библиотеке или инструментальному средству, работающему на обеих платформах. Если вы не понимаете, почему это - грубая ошибка, лучше вообще не задавайте вопросов, пока не поймете.
В общем случае, вероятность получить ответы на вопросы в правильно выбранном общедоступном форуме выше, чем в приватном. Причин для этого несколько. Одна из них - количество потенциальных отвечающих. Другая - размер аудитории, которая узнает ответ; хакеры с большим удовольствием отвечают на вопросы, которые могут интересовать многих, чем на вопросы, полезные лишь единицам.
Понятно, что опытные хакеры и создатели популярных программ и так уже получают намного больше не относящихся к делу вопросов, чем хотели бы. Увеличивая этот поток, вы в некоторых случаях можете стать последней каплей - изредка участники популярных проектов прекращают их поддержку, потому что не выносят больше сопутствующих ей проблем в виде потока бесполезных сообщений по электронной почте на их личные адреса.
Фактически, если программа, с которой у вас возникли проблемы, взята из дистрибутива (что, на сегодня, типично), может оказаться лучше сначала спросить в форуме/списке рассылки по соответствующему дистрибутиву, прежде чем обращаться в форум/список рассылки программы. Хакеры, работающие над проектом, могут просто ответить: "Используйте нашу сборку".
Прежде чем задавать вопрос в любом Web-форуме, проверьте, нет ли на нем возможности поиска. И если она есть, поищите пару раз по ключевым словам обсуждение проблемы, подобной вашей; это может помочь. Если перед этим вы выполнили общий поиск в Web (что надо было сделать), все равно поищите на форуме; возможно, ваша поисковая система давно не индексировала повторно этот форум.
Задавайте осмысленные, конкретные темы сообщений
При посылке сообщения в список рассылки или в дискуссионную группу, тема сообщения - прекрасная возможность привлечь внимание квалифицированных экспертов строкой длиной до 50 символов. Не тратьте их на лепет типа "Помогите мне, пожалуйста" (не говоря уже про темы "PLEASE HELP ME!!!!"; сообщения с такими темами выбрасываются рефлекторно). Не пытайтесь поразить нас глубиной своих страданий; лучше используйте отведенное место для максимально краткого описания проблемы.
Хорошее соглашение по оформлению тем сообщений, используемое многими службами технической поддержки, - применение шаблона "объект - отклонение". Часть "объект" задает, с чем именно возникла проблема, а часть "отклонение" описывает отклонение от ожидаемого поведения.
Глупо:
ПОМОГИТЕ! Видеокарта на моем ноутбуке работает неправильно!
Разумно:
Неправильная форма курсора мыши в XFree86 4.1, видео на чипсете Fooware MV1005
Еще лучше:
XFree86 4.1 курсор мыши на чипсете Fooware MV1005 - неправильная форма
Процесс написания темы по шаблону "объект-отклонение" поможет более детально осмыслить проблему. Что именно неправильно работает? Только курсор мыши или с другой графикой тоже есть проблемы? Проблема только в XFree86? Только в версии 4.1? Эта проблема возникает только на видеокартах с чипсетом Fooware? Только в модели MV1005? Хакер, получив сообщение с подобной темой, сможет, в общих чертах, понять, с чем именно у вас возникала проблема и что это за проблема.
Сведите цитирование предыдущих сообщений к минимуму, достаточному, чтобы новые пользователи могли понять, о чем шла речь.
Упростите посылку ответа
Просить отвечать по электронной почте в Web-форумах - крайне невежливо, если только вы не уверены, что информация может оказаться конфеденциальной (и кто-то, по неизвестной причине, захочет сообщить ее вам лично, а не всему форуму). Если вы хотите получить уведомление по почте о том, что кто-то ответил на тему в форуме, запросите это уведомление в интерфейсе Web-форума; эта возможность поддерживается практически везде в виде опций "watch this thread" ("следить за обсуждением"), "send email on answers" ("уведомлять по почте") и т.п.)
Пишите понятным языком, соблюдая правила грамматики и лексики
Экспериментальным путем установлено, что люди, пишущие невнимательно и небрежно, обычно так же невнимательны и небрежны в мыслях и в коде создаваемых программ (по крайней мере, достаточно часто, чтобы уверенно так утверждать). Отвечать на вопросы людей невнимательных и небрежно мыслящих - занятие неблагодарное; мы свое время лучше потратим на что-то другое.
Поэтому четкость и правильность формулировки вопроса имеет значение. Если вы не хотите морочить себе этим голову, мы не хотим морочить голову себе, уделяя внимание таким вопросам. Постарайтесь сформулировать вопрос правильным языком. Он не должен быть тяжеловесным и формальным — на самом деле, в хакерской культуре ценится неформальный, полный сленга и юмора язык, используемый правильно. Но мысли должны быть выражены четко; необходимо продемонстрировать хоть какие-то признаки вдумчивости и внимания.
Соблюдайте правила синтаксиса, пунктуации и использования прописных букв. Не путайте "its" с "it's", "loose" с "lose" или "discrete" с "discreet". Не ПИШИТЕ ВСЕ В ВЕРХНЕМ РЕГИСТРЕ, - это воспринимается как крик и считается грубостью. Если все написано в нижнем регистре, - не многим лучше, поскольку так сложно читать.
В общем случае, если вы пишете на уровне детского лепета или бреда сумасшедшего, ваш вопрос, скорее всего, проигнорируют. Писанина в стиле малолетних "хацкеров" (в оригинале - l33t script kiddie hax0r - прим. переводчика) - абсолютно безнадежна, и гарантирует в ответ - тишину (или, в лучшем случае, порцию пренебрежения и сарказма).
Точно и детально опишите проблему
Внимательно и четко опишите симптомы обнаруженной проблемы или ошибки.
Опишите среду, в которой она возникает (машина, ОС, приложение и т.д.) Укажите дистрибутив и релиз (например: "Fedora Core 1", "Slackware 9.1" и т.п.).
Опишите проведенное вами исследование при попытках понять проблему прежде, чем задавать вопрос.
Опишите самостоятельно выполненные вами шаги по диагностике и изоляции проблемы прежде, чем задавать вопрос.
Опишите последние изменения в конфигурации компьютера или программного обеспечения, которые могут иметь отношение к делу.
Сделайте максимум возможного, чтобы предугадать потенциальные вопросы хакера и заранее на них ответить в своем обращении за помощью.
Описывайте симптомы проблемы, а не свои предположения
Бесполезно сообщать хакерам свое мнение о причинах проблемы. (Если ваши диагностические теории настолько ценны, надо ли обращаться за помощью к другим?) Поэтому проверьте, что сообщаете фактические симптомы происходящего, а не свои интерпретации и теории. Пусть интерпретацией и диагностикой займутся отвечающие.
Глупо:
Я постоянно получаю ошибки SIG11 при компиляции ядра, и подозреваю, что причина - микротрещина на материнской плате. Как лучше всего это проверить?
Разумно:
На собранном мной компьютере K6/233 на материнской плате FIC-PA2007 (чипсет VIA Apollo VP2) с 256MB памяти Corsair PC133 SDRAM начинают часто возникать ошибки SIG11 примерно через 20 минут после включения питания, в ходе компиляции ядра, но они не возникают в первые 20 минут. Перезагрузка ни к чему не приводит, а вот отключение на ночь помогает. Замена всей памяти не помогла. Соответствующая часть результатов типичной компиляции прилагается.
Описывайте симптомы проблемы в хронологическом порядке
Наиболее важная информация для выяснения причин происходящего часто связана с непосредственно предшествующими этой ситуации событиями. Поэтому необходимо точно описать, что вы делали, и что делала машина вплоть до возникновения проблемы. В случае работы с интерфейсом командной строки очень может помочь запись сеанса (например, с помощью утилиты script) и включение в сообщение пары десятков соответствующих строк.
Если программа, в которой произошел сбой, имеет опции диагностики, попытайтесь подобрать опции, добавляющие полезную отладочную информацию в "стенограмму" сеанса.
Если запись получилась достаточно длинной (больше страницы), имеет смысл заранее сформулировать проблему в начале, а потом указать хронологическую последовательность действий, к ней приводящих. В этом случае хакеры будут знать, на что обратить внимание при чтении сеанса.
Описывайте цель, а не отдельный шаг
Если вы пытаетесь разобраться, как что-либо сделать (а не сообщаете об ошибке), начинайте с описания цели. И только потом описывайте конкретный шаг на пути к ней, который вы оне смогли выполнить.
Зачастую люди, которым необходима техническая помощь, имеют на уме высокоуровневую цель и привязываются к одному из возможных, по их мнению, путей ее достижения. Они просят помочь выполнить один шаг, не отдавая себе отчета в том, что выбрали неверный путь. Чтобы разобраться в этом, может потребоваться много усилий.
Глупо:
Как заставить диалог выбора цвета в программе FooDraw воспринимать шестнадцатеричное RGB-значение?
Разумно:
Я пытаюсь заменить таблицу цветов в изображении нужными мне значениями. Сейчас я вижу только один способ сделать это - редактируя каждый слот таблицы, но я не могу задать шестнадцатеричное RGB-значение в диалоге выбора цвета программы FooDraw.
Вторая версия вопроса - разумна. Она позволяет получить ответ, в котором будет предложено средство, более подходящее для решения задачи. |
|