https://stackoverflow.com/questions/how-to-ask exists, but it doesn't contain much in the way of specific advice, and many users don't seem to notice it.
The concrete consequence of this is that there are a lot of poor questions by new users.
Maybe this is deliberate, so you can bring down the close hammer on abusive or lazy users. But if not...
What I would like to see is some specific advice like this, all in one easy-to-find place (or maybe put the most important bits on the Ask a Question page itself, and then link to a more detailed page):
- Search before asking.
- RTFM before asking, if there is any documentation available to you. If you don't understand the documentation, that's fine, but at least show us you've tried to understand it.
- Think before asking.
- Don't use something extremely vague like "How to program this in Java?" as a question title, which gives us absolutely no clue what the question is about
- If posting homework, use the "homework" tag and show some attempt to solve the problem - don't just post the question and expect us to do all the work.
- Whether or not it's homework, tell us in detail what you've tried, what worked (if anything), what didn't, and exactly what you know and understand about what went wrong / what you need to do next. If you're new to the site, chances are you will underestimate how much detail is appropriate.
- Tag your question with the programming language(s) you're using / want to use. (If you use a tag which logically implies a specific programming language, you don't have to tag it with that language as well, but it may help your question to be seen by more people.)
- If you're using assembly language, don't just tag it with "assembly". Say which processor (and, if relevant, which assembler) you are using.
- If you have an overall goal G and you have chosen to meet that goal by following some strategy or approach S, don't just talk about S - say what G is - there might be a better strategy or approach for tackling it.
- If you have a stack trace / backtrace, include it
- If you include a stack trace / backtrace, include at least some relevant code, and number the lines so we can see which line is which [we should include instructions for doing this in common editors, plus fallback instructions for users using text editors which don't support line numbering]
- If you can't quote large chunks of code or even stack traces due to proprietary code / confidentiality concerns, consider whether it might be appropriate to post a small or redacted snippet - or as a last resort, pseudocode.
- Programming questions only!