3 Answers
3

Unfortunately, the proper way to ask a question on any particular topic is going to vary with the subject matter. A brief question might be perfectly acceptable, if the people who know about that topic know exactly what you are talking about.

Speaking very generally, I'd say, when in doubt about whether you are being clear:

Provide details. What are you trying to do?

Provide your code. What have you tried to get this to work?

Include a very specific question.

Think like an answerer. If you were providing support, what information would you like your users to provide you with?

Don't make it a wall of text. Aim for about one screen full at the most, and let the comments tell you whether that's enough or too much.

Get the tags right. Users who are knowledgeable in a topic area will mark the appropriate tags as "interesting" or follow the rss feeds for those tags, and so getting the tags right is the best way for you question to get noticed by people who are qualified to answer it.

Put some extra time into the title. Especially if english is not your first language, you'll want readers to be able to distill the essence of your question from the title.

Use code to convey difficult concepts Again, if English is not your first language you'll probably just stumble trying to describe what you want to do. Code is likely to be more universally understood and do a better job communicated your problem. But...

Only show the minimum amount of code possible Condense your code snippets as much as possible so that the problem you're trying to solve pops out. If other users have to read through a whole program to find the one method that matters, you're going to lose a lot of potential answers who just don't have the time.