Keeping in mind the intent of the original author, here are some things to attempt. Some of the pieces of advice may not apply if you are editing a question written by someone else.
- Try To Be Clearer
- Try To Be Shorter
- Update Based on Community Input
- Do Extra Research, Help Solve It Yourself!
- Add A Bounty
Important Note: Every edit bumps you to the top of the active list, so each time you go through one of these steps, it will add a little extra exposure.
1. Try To Be Clearer
Most questions already make sense to you, because you have been struggling with it for a while. No one else out there has. Try to rewrite the question with that in mind.
Make sure your question has all of the following:
A clear and specific title.
Does the title (without anything else) accurately describe the general problem you are having?
A quick summary to start off.
The title should be general enough to attract the correct experts, the summary should be specific enough to detail what the problem is.
Relevant code samples
Do not put all of the code. Start with the section (or line) that is causing the problem, try to include anything that is called as part of it or immediately before. Edit out ANYTHING that is not called or irrelevant.
The specific error message
Critical that the actual error message is specified (if available). Never say "There is an error" say "This is the error: [insert error message here]"
Contextual details
What operating system, what language, what version, what else is running concurrently? Does this exist on all environments or just one? What restraints exist?
2. Try To Be Shorter
If the question is very short, then it may be too short. GOTO STEP 1
If you have already gone through step one, then it is likely far too long. Users do not like to read more than they have to, so always trim questions to only the important information.
Key items to remove.
Too much context.
If there is a lot of text describing the project in general, it may not be necessary.
Too much code.
If there are more than 20 lines (it varies) necessary usually it means that you have not tracked down the problem to a specific enough point. See if you can do some work on your end to narrow it down. If it is not your original question, make sure to run any code provided, to ensure that your problems are actually the same.
Too many logs.
Although it is great to post the specific error message, it is not necessary to post an entire log. If this goes over 10 lines, it is almost certainly too much.
3. Update Based on Community Input
If the question is not yours, this step may not be appropriate or possible.
If a question is specific, precise and concise. It should get answered if possible, however sometimes you may have missed providing some important information.
Detail what you have tried
Sometimes it is not clear what you have already tried and the results of it. Usually this is something you can add as a comment on an unhelpful answer that may have been provided.
Add requested information
Often users will add comments stating that they cannot answer your question for some reason. Try to edit your question to include (keeping step 1
and step 2
in mind) those extra details.
Respond with "@commenter" syntax
When you say "@devinb" to one of my comments, it will notify me that you have responded to my concern. This will help show the user that you are engaged in the question and are actively trying to work it out with them.
4. Do Extra Research, Help Solve It Yourself!
It is possible that after engaging the users on the question, you discover that not only was some information missing in the question, you don't have it yourself. Try to find out more about the problem to solve it yourself.
Websearch Just One More Time
Try it with different words, try typing the keywords backwards, try crossing your fingers. See if anything new turns up. If it does, edit it into the question.
Run The App Just One More Time
Check your variables, check your stack and heap, stagger your debug statements. Try and shake it up a little. If you find anything new, edit it into your question.
Try The Suggestions
Even if you know they won't work, they might change the problem into something that you are more familiar with, or you can get more information about.
Sleep On It*
Hey, the problem could just go away... right? :)
*Please don't sleep at work
5. Add A Bounty
Every Bounty'd question enjoys the following perks:
- having a dedicated tab on the homepage
- a visual marker that distinguishes them from every other question
- a potential reputation award for every new answer
- getting bumped to the homepage at the time the bounty is set
Edit:
This link has some advice for helping non-native speakers that has some considerations for re-writing your own posts as well.
This link contains a short version of what is written here.
This link contains additional advice relating to keeping your questions interesting so that users will want to find the answer for themselves.