Stack Overflow is a Q&A website where you can ask questions on a wide range of programming topics and get feedback from other users. Stack Overflow also features a voting system that allows users to help select the best questions or answers for particular problems. But, like with any online community, knowing how to ask can help you get a meaningful answer faster than you otherwise might.
Before You Ask
Verify your question hasn’t already been asked or answered.
This can usually be accomplished with a simple online search of the problem you are having. If your question is a duplicate or has already been answered, it may be closed by moderators. Some ways of refining your search are as follows:
- To search a tag and a topic, type: [tag] topic
- To search a specific phrase, surround it with quotes: “phrase”
- To exclude a tag, phrase, or topic, preface these with a minus (-) signFor tags: [tagA] -[tagB] (searches tagA while limiting tagB)For phrases: topic -“phrase” (searches the topic while limiting a specific phrase)For topics: topicA -topicB (searches topicA while limiting topicB)
Consider your question carefully.
A clear and concise question will help users grasp your problem and answer it more quickly. Be as specific as possible, as this will help users better understand what your problem is and how to advise you.
- You can clarify your thoughts by jotting down a short draft before posting.
Choose a clear and descriptive title.
Your title will serve to draw attention to your question, and a clear title that summarizes your problem generally will help other users know whether they are suited to offer you help.
- A general title like, “Error in Code” is incredibly vague. Something like “foo exception in bar due to baz” allows users to understand your problem before even reading the details.
- If you are struggling with creating a good title for your problem, you may want to save writing the title for last.
Expand from your title.
Your question should start with a brief summary of your problem that expands upon your title/topic. Try to explain the way in which you came upon the problem and any limitations that have made it difficult for you to solve on your own.
Include minimal but sufficient information.
Including too much information can get you into trouble or make it difficult for other users to parse where exactly your problem is. This goes especially for code; copying your entire program into your post is rarely helpful.
Sign in or sign up.
To post a question on Stack Overflow, you will need to log in with your Google account, Facebook profile, or your Stack Overflow account. If you need to make an account, visit stackoverflow.com and click the “sign up” link found on the top status bar of the page. Then, follow the prompts to create your account and select “log in,” which can be found next to the “sign up” link.
Asking Your Question
Click the “Ask Question” button.
Navigate to the Stack Overflow homepage in your browser at stackoverflow.com. In the upper right hand corner of the page, you should see the Ask Question button, which you should click to continue.
Read the disclaimer.
Then check the box box indicating you have read and understand the disclaimer and click “Proceed.” Now you’re ready to ask your question!
Fill in the necessary information.
This is where your problem description and title come in handy. Fill in the information and take a moment to double check spelling and grammar. That last thing you want is someone hassling your usage instead of answering your question. Then click on “Post your question.”
Add any relevant tags.
In the tags field, when you begin typing, the Stack Overflow system will automatically suggest likely tags to help you with this process. Be sure you read the descriptions for your tags. An incorrect tag can seriously limit potential responses.
- Three important tags to include with relation to your topic are: language, library, and API.
Return to your question.
If you have asked a few questions on Stack Overflow, or if you’ve forgotten the exact title of a question you’ve recently asked, you can do a user search. To do this type into the search field:
- user:username (returns only results for the username provided)
- user:username topic (returns only results for the username provided with the associated topic)
Listen and respond to comments.
Often these will be constructive, and by paying attention, you can learn how to improve your Stack Overflow question asking skills for next time.
- Leave your browser open to your post, and respond to questions by editing your post to provide more, or more precise, information.
Accept and implement possible solutions.
To accept an answer that you consider satisfactory, you can click the green tick-mark under the score of the answer. This will indicate that the question is finished, and will give the user who answered points as a reward for contributing.
Adjust your title if answers clarified the problem.
Sometimes, as the question you have posted is being answered, you may realize that a more apt title could have been used or a different description would have fit it better. In this case, edit your title so other users can find and use your Q&A more easily.
- For example, you might change “Strange problem in foo” to “bar error in foo because baz.”