10

A considerable portion of the questions asked on Stack Overflow are beginner questions. Often this makes the answerers considerably prone to underestimating the asker's capacity to understand their own problem, if not outright hostile. This, however, can yield a lot of false positives, because it escapes the realm of beginner questions and finds it way to potentially every question.

As an (abstract) example of this, consider that you ask a (non-beginner) question on how to do something and in the premises you explain that you are constrained to do it in a specific way. Then, someone gives you an "answer" that mostly informs you that "you're doing it wrong", while ignoring (implicitly or explicitly) the premises and, therefore, not really addressing the question that you actually asked.

Sometimes, answering patterns like the above are valid and helpful, because you may be in a domain where you're not sure of what you're doing and such responses will help steer you to the correct path. Other times, however, the pattern becomes obnoxious, because it feels like you have to include some kind of "street cred" in every question to persuade people that you're not completely clueless, that you're asking this specific question for a reason and/or that it's not cool for them to come off as rude.

Obviously, the first thing we can do, as askers, is phrase our questions in such a way that as many answerers as possible will get that we know what we're doing (if that's indeed the case). However, after we've made our best (to make what exactly we're asking as clear as possible) - if the above pattern still emerges, what's the best way to deal with it, in terms of commenting, voting and accepting?


In other words, consider being the asker in what's wrongly perceived as an XY problem:

Say that (for whatever reason) you actually want to learn about your attempted solution (which sometimes may be more general, educational and useful to you and visitors) and not about the underlying problem that you have (or, worse, the problem that the answerer decides that you have). How can you achieve that? How to deal with answers that, despite your explanations, still deal with the latter?

10
  • 3
    If an answer is obviously or blatantly not an answer, flag it as "not an answer". However, most often a downvote and a explanatory comment will suffice.
    – Luke_0
    Commented May 31, 2013 at 22:36
  • 2
    I personally prefer a (polite) comment inquiring about the limitations, first. That can avoid the situaton you note. </tangent>
    – Andrew Barber Mod
    Commented May 31, 2013 at 22:37
  • 8
    @Luke If it's an attempt to answer the question, a NAA flag is not warranted. And missing the question doesn't mean it's not an attempt. Commented May 31, 2013 at 22:38
  • That's why I said "obviously or blatantly".
    – Luke_0
    Commented May 31, 2013 at 22:45
  • Ah, okay, wasn't sure what you counted as obvious/blatant in the context of this question, @Luke. Commented May 31, 2013 at 22:47
  • 3
    Unless they suggest jQuery.
    – Cole Tobin
    Commented Jun 1, 2013 at 1:23
  • per recent discussion at Prog meta, it rather feels that when the question is not OK, it is acceptable for answers to deviate in any imaginable tangential direction. See also: What is the XY problem?
    – gnat
    Commented Jun 1, 2013 at 5:12
  • 2
    We should obviously create a new badge that establishes our programming 'street cred.' Commented Jun 1, 2013 at 11:43
  • 4
    @Cole Johnson: But jQuery does not ignore the premises of the question in the first place, because it is the answer. Commented Jun 1, 2013 at 11:49
  • 1
    meta.stackexchange.com/a/179567/217863
    – apaul
    Commented Jun 1, 2013 at 15:27

3 Answers 3

10

This is very common with a "I am trying to do X which will do Y, but have a problem with X" question - it may turn out there is a much better way to do Y which is not X, so answers look like

  • Here is Z (which does Y)

As long as these answers include some explanation as to why Z works, I think they are fine. In fact I often learn from them myself.

The problem can come if the answer is posted with no explanation. This means the asker likely learns minimally and it is much less useful for future users. This is regardless of how good Z actually is.


Otherwise, I do not have a problem with people who ask meaningful questions receiving "try this instead because it's better" so long as proper problem solving technique is followed and the answer is explained.

7

If an answer blatantly disregards the premises of the question I would downvote and comment. In my experience, this regularly results in the answer being modified or deleted. I would remove the downvote/change it to an upvote when appropriate.

The situation is often less extreme, though, for example when an answer tries to persuade the asker to change the premises. In this case, my first choice is to flag it as not an answer, since I believe those kinds of arguments should be made in comments (unless a long explanation is required and provided).

1

A considerable portion of the questions asked on Stack Overflow are beginner questions. consider that you ask a question on how to do something and in the premises you explain that you are constrained to do it in a specific way.

Beginner questions are often not very clearly formulated. You shouldn't downvote the answers only because the question is hard to understand.

If the constraints are completely arbitrary and given without explanations, the answerers are free to ignore them, especially when ignoring them is the only way to solve the problem.

Example A

I have to position h:outputPanel on the right size, but I must do it in "JSF"-way, not in CSS..

Well, it is a JSF-way to position element using CSS. JSF is a Web framework and in Web applications we are using CSS, you know..

But my boss forbids me to use CSS because he doesn't understand it

OK so you have problem with your boss, which is not a programming questions, so either we ignore it and answer anyway or close your question as off-topic (it belongs to Workspace.SE)

Example B

I need to search particular tags in XML using regex

It's another example of people using hammer for everything that even isn't looking like a nail. So it's probably another question of my-boss-have-told-me-to or homework questions. Self-help questions are off-topic here, so again the answerers has right to to ignore the constraints that are not programming-related.

But the constraints could have a reason, which OP has forgotten to mention:

But we are using limited JVM on mobile device, so it doesn't have XML parser nor adding external library is an option, and the regex are available

OK, great, but why haven't you told that at the beginning?

Summary

If the OP doesn't give any logical reason for constraints, and the constraints seem to be absurd, the answerers shouldn't be punished for trying to solve what they guess is the real problem here.

1
  • You've mixed two of my sentences somewhat liberally in the beginning of your answer. When I mentioned "beginner questions", I mentioned them as a possible explanation for the pattern of answerers ignoring the premises in way too many questions. The problem itself is that this pattern "escapes" the realm of beginner questions and finds its way to more questions, even ones where it's clear that the OP knows what they're doing. The question remains: What if (for any reason) you need an answer to the solution, not the problem?
    – T. C.
    Commented Jun 2, 2013 at 7:46

You must log in to answer this question.

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