8 простых советов, как задавать правильные вопросы

Умение задавать правильные вопросы – полезный жизненный навык, — пишет proglib.io во вступлении к своему переводу статьи «How to ask good questions as a developer». Вы удивитесь, узнав, как легко найти ответ на корректный вопрос!

Как задавать правильные вопросы

В особенности это касается кода. Соблюдение простых правил увеличивает шансы получить искомый ответ.

1. Соблюдайте основы

Первый пункт на пути к умению задавать правильные вопросы – соблюдение основ.

На первых порах преподаватель или ментор могут исправлять ваш код и объяснять каждое решение. Но для большого (и жестокого) мира онлайн-сообществ, несоблюдение основ – это красная тряпка для быка.

Проверяйте синтаксис и опечатки в редакторе

Подсветка синтаксиса – главный союзник по обнаружению опечаток.

Пример кода

На первых порах частыми ошибками будут опечатки и неверный синтаксис. Их легко исправить надежным редактором кода.

Пример кода

Знакомьтесь с различными редакторами кода в статьях:

2. Попытайтесь понять, что вообще происходит

После проверки основных моментов у вас будет больше предположений о возможной проблеме.

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

Для отладки пользовательского интерфейса используйте инструменты разработчика в браузере. Включайте и выключайте стили и смотрите, какие из них перезаписываются другими.

Либо используйте отладчики и проверьте значения переменных. Они отвечают вашим ожиданиям? Вы видите неопределенные значения?

Закомментируйте блоки кода, чтобы локализировать причину проблемы.

3. Воспользуйтесь поисковиком

К этому времени у вас должно сложиться понимание проблемы. Стало быть, вы в состоянии составить вопрос. Не спешите просить о помощи: сперва покрутите Google.

Google – лучший друг разработчика. Даже опытным разрабам приходится регулярно «гуглить». А порой хорошие разработчики – это и есть хорошие гуглеры 

Главный способ структурировать подходящий запрос заключается в следующем:
перечислите языкбиблиотеку или фреймворк, затем добавьте свой вопрос в устной форме или сообщение об ошибке.

Вот примеры вопросов, задаваемых в соответствии с этой структурой:

Примеры запросов
Примеры запросов

Не ограничивайтесь одним запросом по проблеме. Прочитайте подходящие результаты. Возможно, кто-то уже решил вашу проблему.

4. Воссоздайте проблему вне проекта

Всё еще не можете устранить ошибку? Попробуйте воссоздать её вне проекта. Столкнулись со странной проблемой CSS? В этом случае можно отправиться, например, на CodePen, чтобы поделиться битым фрагментом кода.

У отделения неработающего кода от остальной части проекта есть преимущества:

  • Помогает сосредоточиться на проблеме.
  • Помогает быстрее решить вопрос остальным участникам.

Уважайте время других людей. Для рассмотрения краткого фрагмента кода потребуется меньше времени, чем для исходной кодовой базы.

5. Делитесь кодом

Не получилось решить проблему самостоятельно? Не волнуйтесь! Все, что вы делали до сих пор, заложило основу правильного вопроса.

Перед просьбой о помощи сделайте следующее:

1) Убедитесь, что ваш код хорошо отформатирован

Хорошо быть дисциплинированным разработчиком с правильным форматированием кода! 

Это не про вас? Тогда пришло время сделать ваш код чище.

Подумайте об использовании линтеров. Линтеры обеспечивают соблюдение хороших практик, выдавая предупреждения и ошибки для плохо отформатированного кода. Можно сделать даже так, что отправка кода с ошибками будет невозможна.

Добавьте Prettier в ваш редактор и позвольте ему выполнить форматирование за вас.

Никто не захочет разбираться в форматировании для решения самой проблемы кода. Поэтому читайте нашу подборку статей для практики чистого кода:

2) Убедитесь, что код, которым вы делитесь, воссоздает ошибку

Код, которым вы делитесь, должен воссоздавать проблему, с которой вы столкнулись. Иначе вам будет крайне сложно помочь.

Не забудьте упомянуть дополнительные действия необходимые для запуска при совместном использовании кода.

6. Покажите усилия, которые вы приложили для решения проблемы кода

На этом этапе вы обычно спрашиваете «старших» коллег или ищете ответ на StackOverflow.

При постановке вопроса важно указать на шаги, предпринятые для решения проблемы. Предоставьте как можно больше информации всем, кто может помочь.

Вот информация, которой нужно поделиться:

  • Ваше понимание проблемы. Это может быть не одна гипотеза, сформировавшаяся к этому моменту. Важно четко сформулировать предположения о возможных причинах проблемы и опробованных способах устранения.
  • Скриншоты проблемы или ошибки. Прикрепите скриншот для выделения характера проблемы в пользовательском интерфейсе.
  • Код (желательно в песочнице), воссоздающий проблему.

При размещении вопроса в Интернете не ленитесь перечитать его. Убедитесь в том, что предоставляете как можно больше подробностей для получения помощи.

Для ответа на смутный вопрос в онлайне требуется гораздо больше времени, чем при личном общении.

7. Держите всех в курсе

После размещения вопроса в Интернете можно решить его до получения ответа. В этом случае оставляйте найденное решение в своем вопросе.

Это может показаться странным, но таким образом люди помогают кому-то еще в будущем.

8. Благодарите всех, кто пытался помочь

Это самое главное.

Благодарите всех, кто пытался помочь. Несмотря на отсутствие решения, они потратили время на исправления неработающего кода. Проявите уважение.

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]


Оставьте комментарий

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

Прокрутить вверх