11

I often see questions where the question is phrased "Why doesn't this work" and the answer is really "because you don't understand what you're doing." (For example, JavaScript code where the questioner doesn't understand asynchronous programming.)

It's kind of a FAQ, but since the asker doesn't know what they don't know, they'll never find it.

We could close the question as a duplicate, but then there's no marker for the next confused person.

Stack Overflow isn't really a good format for teaching new concepts to people.

Is there a sensible way to handle these?

0

3 Answers 3

10

Vote to close as "Not a Real Question."

"Why doesn't this work," or "It doesn't work" seldom satisfies as a description of the problem, which makes the question "Incomplete," by the definition of "Not a Real Question."

Essentially, this kind of question is an appeal to "do my troubleshooting for me," because (if the OP actually provided a short, complete code sample) the only way to solve it is to plug his code sample into an IDE and see what it does.

In order for such a question to be complete, the OP should:

  1. Describe the expected behavior: "I want it to do this, but..."
  2. Describe the actual behavior: "it actually does this."
5
  • Hmm... I've seen ones where they have a minimal test case, they just don't get it. stackoverflow.com/questions/7400686/… is the most recent one. Decently asked, but still comes down to "you don't know a fundamental concept." Commented Sep 13, 2011 at 16:32
  • 2
    Explain the underlying concept. If that doesn't work because the OP has only a basic level of understanding, direct them to a decent tutorial.
    – user102937
    Commented Sep 13, 2011 at 16:34
  • 2
    The need to explain the underlying concept is what makes the question a duplicate: there may be a zillion different ways to ask why I can't make an Ajax call in the middle of a function and return the Ajax result at the end of the function ("why is my return value undefined? why did my textbox not update? etc.) but there's only one real answer: describing an asynchronous call with a callback. Commented Sep 13, 2011 at 20:13
  • @Jacob: I don't think exact duplicate means what you think it means. What you are really describing is a canonical answer, but there isn't very good support in the SE software and community for canonical answers yet.
    – user102937
    Commented Sep 13, 2011 at 20:17
  • Yeah, good point. That is exactly what I mean. Commented Sep 13, 2011 at 20:44
3

Often these cry out for 'too localized'. One person's very particular inability to understand the behavior of his or her very particular wall, ditch, or palisade of code is not a question that offers any illumination to future readers.

There would be a lot of very disappointed people if we all took that line.

0

I'd close it as a duplicate. The problem with such questions (not understanding why an ajax call doesn't return synchronously, not understanding why a value updated within a closure is changed elsewhere, etc.) is that since they don't understand the situation, they're typically asking the wrong question. Therefore it's not a useful marker for the next confused person.

To @Robert Harvey I'd say that they typically are asking a real question, it's just the wrong question. I think indicating that it's a duplicate (after finding a good example that has the answer they need) is better than just closing.

2
  • 1
    If there is, in fact, an existing duplicate question. Just because a question has the answer they need doesn't necessarily make the question itself a duplicate. Also, questions of this kind tend to get closed, and I don't like marking questions as duplicates of closed questions, because closure is the first step towards question deletion; you'll be closing as duplicate of a question that will no longer exist.
    – user102937
    Commented Sep 13, 2011 at 20:14
  • 1
    Let's create a question containing just "Why?" answer that question with "Because you don't understand how it works." and use it to close all those questions as duplicate. ;-)
    – avpaderno
    Commented Sep 14, 2011 at 0:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .