What does 'Unclear What You're Asking' define, and are we using it correctly?
What makes a question unclear and close vote worthy?
This is in no way a full answer.
One of the types of questions on which I tend to vote UWYA are the ones that have a generic title, no explanation of the problem and sometimes consist of nothing more than a code dump.
This is Code Review. Without a purpose statement we won't know if the code is good at what it's supposed to do. Asking for a review (which is basically almost every question) is implied. Not stating the purpose of the code leaves us guessing at your intentions, therefore an unclear question.
From What is a Code Review?:
Does this code actually do what it is supposed to do under normal conditions?
This is the key to why code only questions are "unclear" in my mind. Without a plain English explanation of what the code is intended to do, we only know what the code actually does. It becomes impossible to perform the most critical function of a CR, to verify the code does indeed work as intended.
Note that this opinion is not the currently accepted practice of the community at large.
I obviously disagree with this assessment and plan on continuing to down vote and vote to close such "code dumps". This is my own most common use of the "Unclear what you're asking" reason, but there are obviously also the cases where a question, with or without a plain text explanation, are simply unintelligible. That will always be a (perhaps the) valid reason to put questions on hold.
We don't need the "Unclear What You're Asking" close reason.
Are you kidding me?
At a minimum, the questioneer needs to describe what the code does, and preferably with example inputs and expected outputs.
This becomes more and more important to enforce as the site continues to grow.
We require that the code in the question work. If the code in the question does not work, it is a question for Stack Overflow. How can an assessment of whether or not the code works be made if the questioneer doesn't explain what the code is supposed to do.
It wouldn't be correct to close the question as broken code. We don't know if the code is broken or not. Closing the question as broken just says to the user "We think your question contains broken code", which will frequently get responded with "no it doesn't" and then they think it's ready to reopen. The real problem is that it's impossible to assess whether or not the code is broken. It's unclear what the code is supposed to do.
Even the most straightforward and simple looking pieces of code might be unclear as to what the user intends to do with it.
Plus... it's an unnecessary gray area. And causes other problems if we simply allow code dumps without any plain-English to remain open.
It's more difficult to discern whether or not the code works as intended if the user doesn't sufficiently explain what the code is supposed to be doing. As a result, this will end up in the question collecting answers on broken code sometimes. This is more easily handled if we just keep the expectation that at the bare minimum, questions should have some explanation of their intended behavior or be closed as unclear.
Note, I'm not expecting users to ask reviewers to focus on particular aspects. I'm not sure that I've done this in any of the questions I've asked, and I don't think it's a reasonable request. You're getting a review to make sure the code is as good as possible... and it should be as good as you can make it on your own before you post it here... and that makes it really difficult (usually) to know what areas need most focus. But questions should be expected to explain what the code is supposed to be doing in its current state.
And if it doesn't, it's unclear what you're asking.
There are other use-cases for "Unclear what you're asking" as well.
Question has multiple code snippets. What are we reviewing? All of them? Or are some of the snippets provided as context?
Question has snippets in multiple languages. A question expecting multiple languages to be reviewed is generally (almost always, I haven't seen an exception yet) receive the Too Broad close vote from me. But if you offered no plain-English explanation with your question... is one of the snippets context for the other snippet and you only expect one reviewed? This is why I have to use unclear. I don't know if the question is too broad (both expected to be reviewed) or if not, which snippet to review (particularly if you use both language tags in your question, which user's don't always do this expecting both snippets to be reviewed... just do that because it's tangentially related to the language they provided context code in).
The "Unclear What You're Asking" close vote reason is perfectly valid and we regularly see questions posted that are perfect candidates for this close vote.
Okay just to be clear what reason we're talking about:
unclear what you're asking
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.
This formulation of the close reason is active on all sites in the Network. It's been around since aeons, because all sites need it.
Before you shout "Why? We do! You're wrong!" let me explain.
This close reason is for sites that address specific problems (see the formulation). Code Review is not such a site.
This close reason is for sites where the OP has to explain what they need. Code Review is not such a site.
These basic premises are what makes the close-reason work so well across the whole network, and Codereview is not "fulfilling" these basic premises.
If Code Review were a site that addresses specific problems it would be Stack Overflow. The whole point of Code Review is that OP does not know the specific problem. If they did, they could (and should) ask on Stack Overflow.
Code Review is a site to turn unspecific issues ("This code makes my ass look fat") into specific ones ("This is better of as a switch"). As such clarification by OP is... difficult.
Okay I lied. Code Review needs an explanation. But not concerning what OP needs, but concerning what OP has. There is a huge difference in that, because it makes for a wholly different set of questions (and answers).
But this context is something that does not fall under the "area of responsibility" of unclear what you're asking.
As I wrote in my answer to a related discussion:
Basically closing the question as "unclear what you're asking" on this site is impossible, since any question asks for a Code Review of all aspects by definition.