In my mind, one of the paramount things to the learning experience is asking questions. How could you possibly clarify something that you don’t understand if you don’t ask a question about it? And to get the best possible information from the person or people you are asking, you have to ask the question well. First, let’s take a look at what makes a good question
I will stick specifically to code questions but the more generic ideas can apply to a question about anything.
Know what you want
Before you ask a question, you need to think about what you want from the answer. You really have to consider what you need to understand what you are having trouble with and then formulate that into a question.
Creating a good title
There is an overabundance of information on the internet today and a large portion of that is people searching for answers to questions. In order to grab someone’s attention and set your question apart from the swath of others out there, you have a have a good title for your question. What you want to do is try to sum up your question in one full and concise sentence. Also, you want to make sure that your grammar and punctuation are proper (that applies to the entire question!) Here are some examples of good an bad titles that I have come across:
- BAD: Why doesn’t my code work?
- GOOD: Why do I get an error message when trying to run my method in Ruby?
- BAD: If/Else problem. PLEASE HELP!
- GOOD: Why does this if/else statement not return the value that I want?
It is always important to be concise while still trying to make a complete and understandable sentence. Also throwing in certain point that will help people identify the problem you are having such as the language you’re using, error messages, etc.
You want to be sure that you are very clear in setting up your question. Explain how you ran into the problem that you are having before posting any code and be sure to engage the reader while giving them as much information as possible to help them figure out the correct solution. Initially begin with how your particular problem occurred then guide everyone through what you were doing so they can point out where things could be going wrong.
Don’t stop engaging after you post the question
Another thing that I sometimes see people do is once they post a question and a few people give responses, they walk away from the thread and forget about it. That is one of the worst things you can do because this entire community builds off of programmers helping one another and being respectful and engaged. Once you have a workable solution for your question, be sure to thank the people that provided the solution or if you are still unclear about some aspect, don’t be afraid to follow up with another question.
Never be afraid to ask
I know there are some people out there who have big egos and think they are god’s gift to programming but for the most part, people just want to be helpful and be a part of their community. So don’t be afraid to rely on them but just be sure to be as clear and concise as you can be to help them help you.