АНАТОМИЯ ХОРОШЕГО ВОПРОСА

Независимо от того, являетесь ли вы студентом Austin Coding Academy или профессиональным системным инженером, занимающимся взломом ядра Linux, всегда наступит момент, когда вам, как программисту, понадобится кого-то попросить о помощи. Хотя высказывание «Нет такой вещи, как глупый вопрос», я, безусловно, верю, я также считаю, что некоторые вопросы составлены лучше, чем другие. Правильно построенные вопросы позволяют тем, кто отвечает, отвечать быстро и прямо.

Так что, если вы просите инструктора Austin Coding Academy помочь с заданием или просите мастеров Stack Overflow творить чудеса и отвечать на ваши вопросы, следование этому руководству поможет вам быстро получить обратную связь, из которой вы сможете извлечь уроки.

ЧЕТКО УКАЗЫВАЙТЕ, ЧТО ВЫ ХОТИТЕ СДЕЛАТЬ СВОЙ КОД

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

ЧЕТКО УКАЗЫВАЙТЕ О ЛЮБЫХ СООБЩЕНИЯХ ОБ ОШИБКАХ, ПОЛУЧЕННЫХ ВАМИ.

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

СДЕЛАЙТЕ ОБРАЗОВАННОЕ УГАДАНИЕ

Даже если вы не понимаете точно, почему у вас возникла проблема, иногда все же можно сформировать гипотезу, объясняющую проблему. Поделитесь своей гипотезой — это отличная возможность для обучения: если ваша гипотеза верна, мы можем помочь вам применить ее для решения вашей проблемы. Если ваша гипотеза неверна, мы можем исправить более глубокое недоразумение, из-за которого возникла гипотеза.

НО ЧТО, ЕСЛИ У МЕНЯ НЕТ КОДА?

Начало работы иногда является самой сложной частью написания программы. Если вы не знаете, с чего начать, попросите кого-нибудь подтолкнуть вас в правильном направлении. Обычно невозможность начать — это организационная проблема. Программирование сложно, и проблемы, которые решает программирование, сложны. Взять эту сложность и свести ее к простейшим элементам — это фундаментальный навык программирования, для развития которого требуется время.

ПРИМЕРЫ ХОРОШИХ ВОПРОСОВ

Вот несколько хороших вопросов по программированию, которые можно использовать в качестве справочного материала.

http://stackoverflow.com/questions/25750594/python-for-loop-with-non-desired-results
http://stackoverflow.com/questions/25754023/python-list-index- вне диапазона ошибок
http://stackoverflow.com/questions/25753339/why-is-this-function-not-giving-consistent-output
http:// stackoverflow.com/questions/25752294/xml-parsing-specific-values-python

Первоначально опубликовано на сайте www.austincodingacademy.com 27 апреля 2016 г.