Если обобщить изложенные в статье мысли и не акцентировать внимание на описанных в ней частных случаях, то получается «выжимка», состоящая из двух тезисов.
Тезис № 1: прежде чем задавать вопрос, приложи максимум усилий, чтобы ответить на него самостоятельно.
Чек-лист по соблюдению тезиса № 1:
- поищи ответ с помощью поисковика Google, поскольку велика вероятность, что с этой проблемой кто-то сталкивался, и решение уже давно найдено.
- обратись к официальной документации и/или к списку часто задаваемых вопросов, если проблема связана, например, с какой-то конкретной технологией, потому что, как правило, там уже описаны наиболее типичные случаи.
- постарайся найти ответ путем анализа кода и его проверок, поскольку есть вероятность, что ты не учитываешь чего-то важного и, возможно, даже поверхностного.
- спроси опытного товарища, если таковой имеется (данный пункт актуален, скорее, для случаев, когда вопрос задается на форуме или аналогичной площадке).
Выполнение всех пунктов чек-листа по соблюдению тезиса № 1 будет свидетельствовать о том, что задающий проявил должное усердие в поиске решения, задействовав при этом все свои знания, навыки, осмысленность и внимательность.
Если все-таки соблюдение тезиса № 1 не принесло ожидаемых результатов, значит, остается один вариант – задать вопрос. Тезис № 2 представляет собой, можно сказать, аннотацию к изложенным ниже правилам постановки вопроса и получения ответа:
- Тщательно продумай формулировку вопроса. Вопрос должен быть четким, лаконичным и осмысленным. У читающего не должно возникать желания/необходимости переспросить/уточнить тебя о чем бы то ни было относительно твоего вопроса. Кроме того, есть вероятность, что, пока будешь формулировать свой вопрос, сам же найдешь на него ответ.
- Четко изложи, какой результат ты ожидаешь получить (например, предоставить полезные ссылки или проверить твое решение);
- Соблюдай правила синтаксиса, пунктуации и даже орфографии, поскольку это является показателем внимательности и прилежности человека, задающего вопрос.
- Точно, емко и информативно опиши проблему. Описание должно включать информацию о хронологической последовательности действий, приведших к проблеме, а также сведения о среде, в которой она возникает (машина, ОС, приложение), и различных нюансах, которые могут иметь отношение к делу (например, какие-то настройки). Одним словом, сделай максимум возможного, чтобы предугадать потенциальные вопросы и заранее на них ответить в своем обращении за помощью.
- Укажи факты, которые ты узнал, и опиши действия, которые ты выполнил, при самостоятельном поиске решения проблемы. Это, во-первых, увеличит шансы на локализацию проблемы, а во-вторых, подтвердит твою вовлеченность и осмысленность в процессе поиска решения проблемы.
- Если того требует ситуация, приложи дополнительные материалы к своему вопросу, но только то, что действительно необходимо для полноты картины проблемы. Важно: материалы необходимо прилагать как есть, чтобы отвечающий видел именно то, что видишь ты.
- Формулируя вопрос, ориентируйся на шаблон «объект-отклонение», где «объект» – это, с чем возникла проблема, а «отклонение» – это описание отклонения поведения «объекта» от ожидаемого.
- Правильно выбирай место, где будет задан вопрос. Вопросы желательно задавать в общедоступных местах (форумах, общих чатах и т. п.), потому что с точно таким же вопросом может столкнуться кто-то еще, и публично данный ответ на публично заданный вопрос может быть полезным не только тебе. Кроме того, если определенные вопросы задаются часто, разработчики могут использовать эту информацию для улучшения документации или самого программного продукта, чтобы они стали более понятными для пользователей.
- Будь вежливым, ибо вежливость покоряет города.
- После того, как проблема решена, дай знать об этом тем, кто тебе помог, и поблагодари их еще раз за помощь. Такого рода сообщение помогает всем участвовавшим в обсуждении получить чувство удовлетворения от того факта, что проблема закрыта.