37

I've noticed a sizable number of questions here where the petitioner asks something like

  • "I'm trying to flange my dichromatic howitzer, but I can't defibrillate the metacarpus. Any suggestions?"

... and the first answer (and the one that attracts a lot of upvotes) is one that says

  • "That's a really bad idea. It's not designed for that. Buy a new one."

Sometimes this is sensible advice, and I've read a number of great answers that went on to explain why it was such a bad idea and offering alternatives. But at least as frequently, the person posting the answer will decide the petitioner doesn't know what they're asking, and that there's no possible use case that justifies the original question, so they say it's a terrible idea. Often this will kill an otherwise reasonable question, because it's the first answer in and attracts a number of drive-by voters.

It bothers me when the people posting the answers assume those who ask the question haven't considered the alternatives; if there's a better alternative that answers the question, that would be one thing, but that's different than just saying "Don't do that."

How can you keep discussion focused on the question, rather than the assumptions behind it?

2
  • 3
    If someone says "Don't do that" and it's due to a constraint that you can't avoid, then comment on that answer explaining so, and edit the question with a bold Update: section explaining the constraints you are working under and why you can't accept what might be the "right" way to do it.
    – Sam Hasler
    Mar 5, 2009 at 17:03
  • 4
    why would you want to get people to answer the question, rather than argue the premise? =P
    – puk
    Nov 22, 2011 at 16:44

9 Answers 9

6

In this one question I asked (here), a posse of "why would you..." posters pillaged and looted my question. By the end I learned about different ways of embedding PHP in my code, loading modules with requireJS, and I described my entire web site to them, but I never got an answer to my question:

How can I get JavascriptLint to not consider embeded PHP code to be a syntax error

1
  • 1
    Why is this the accepted answer ? Seems like the OP accepted this answer just to show his/her disgusted response towards the zealots who love to close as many questions as XY problem .
    – Graviton
    Nov 14, 2019 at 12:52
13

Do a better job explaining your motivation. Seriously, some of the questions leave too much room for interpretation.

If you ask:

  • how can I read the PIN on my ATM card?

you might be questioned - rightfully so. However, if you ask:

  • how can I read the PIN on this ATM card that I found in the wallet of the guy who sat in front of me during last night's movie?

then everybody will be delighted to help and not ask questions!

7
  • 6
    So how can I read the PIN on this ATM card that I found in the wallet of the guy who sat in front of me during last night's movie?
    – GregD
    Mar 4, 2009 at 4:18
  • 5
    Explaining the full impetus for a question is tricky, and can render an otherwise clear and concise question hopelessly muddled. And I'm not solely concerned with my questions--I've seen questions I was interested in slaughtered by posters who didn't like the particular design style it implied.
    – Chris B.
    Mar 4, 2009 at 4:20
  • 9
    Also, @GregD: give me back my wallet.
    – Chris B.
    Mar 4, 2009 at 4:21
  • btw, you need a card reader with an encrypting pin pad that was loaded with the master key ....
    – cdonner
    Mar 4, 2009 at 4:21
  • @Chris: I meant "motivation" in a wider sense, as in providing context. I am for instance struggling with this question right now that clearly lacks context (i.e. I cannot determine if it makes sense): stackoverflow.com/questions/608985/multi-rdbms-design-question/…
    – cdonner
    Mar 4, 2009 at 4:24
  • 1
    But sometimes people don't need to know all the details. I ask how to prevent javascript beautifiers (ie. JSlint) from issuing syntax errors when there is php code in there, and people ask me why I have php code in the first place. If you understand the question, then you know that javascript code can be put in a .php file and loaded like a .js file. If you don't understand the question, you should not attempt to answer.
    – puk
    Nov 22, 2011 at 16:51
  • There should be a badge for the people with the phychic ability to read the questioner's mind and give the correct answer when there was clearly vital information missing in the post. I've seen others do this a few times and have even done it myself a couple times and quite frankly I feel we should be rewarded :) Dec 10, 2011 at 9:54
13

The whole point of SO is people upvoting answers they think are the best. If others think the "best" answer is "don't do that" -- then maybe you ought to rethink what you're trying to do. Also, you have the ability to accept what you consider the "best" answer and that will lock it at the top position, no matter how many votes the other answers have.

2
  • Was reading through the answers to see if anyone has said this, and you have, so +1. I'm sick of people complaining that they receive an answer of "it's a bad idea, don't do it." Maybe it is in fact a bad idea, and the next person who arrives at the question should see that. Nov 22, 2011 at 22:06
  • 1
    There are numerous questions on SO of the form "I have variables $var1, $var2, etc. and I have a number $n; how do I get variable number n?" The correct answer is, of course, "Don't do that, use an array/hash instead."
    – Kevin
    Sep 20, 2015 at 18:27
9

It bothers me when the people posting the answers assume those who ask the question haven't considered the alternatives

It bothers me much more when the questioner does not state what has been tried/considered already (and then, even worse, actually comments on an answer like "I already tried/considered that"). It also bothers me when people think SO/SF/SU to be some help desk run by paid employees.

1
  • 2
    "It also bothers me when people think SO/SF/SU to be some help desk run by paid employees." see here
    – puk
    Nov 22, 2011 at 16:53
8

How can you keep discussion focused on the question, rather than the assumptions behind it?

By asking a question correctly.

For example, when asking about optimizing something, you'll often get the "premature optimization" spiel. To avoid that, tell people that you have in fact profiled and determined that this is worthy of optimization.

And if that's a lie... well, maybe you need the "premature optimization" spiel ;)

In any case, the best way to keep people from second-guessing your approach is to explain why you're taking that approach.

More often than not, people assume that you don't know all the options. That's a very viable assumption, because 90% of the time, you're dealing with someone who doesn't know the options. Suggesting an alternative or discouraging bad practice rather than "fixing" the problem is useful to those people. You'd be surprised how many C++ programmers have been introduced to smart pointers by an answer that suggested not using naked pointers.

If you post a complete question, one that shows that you have considered and dismissed those options, then you are less likely to get people suggesting those alternatives.

5

That's a bad question. Ask a new one :)

But seriously , the problem stems because there are lot of questioners who really have not considered the alternatives. (No surprises that many such answers are then accepted)

For few people , who have considered the alternatives , I do see updated questions where the OP clarified why the alternative was dropped after consideration. Such clear edits to the question drive the discussion where the OP wants it to.

But at the end , it's a public forum and is driven by the sum total of the knowledge of the people viewing it. Sometimes when you are lucky , few persons who answer first give a sensible and thought provoking answer which drives the tone of further discussion. Sometimes you are plain old unlucky and get a lot of answers which are "preachy" and miss the point. (Hence similar questions have vastly different level of answers depending upon which luck category your question fell into)

1
  • Oh the time of day you ask has a great influence on "luck" Mar 4, 2009 at 4:25
4

It helps if you ask your question when you're sure that you have an hour or so available to keep up with the answers. It also really helps if you read your question out loud prior to posting it.

I think part of the reason that answers take on a life of their own (and get far away from the original question) is that the person asking the question is not helping people to really understand their problem. If your getting answers that are way out in left field, you probably need to edit your question.

As far as the 'don't do that (end of answer)' phenomenon, you'll run into that everywhere. I've seen a few cases where votes don't reflect the most helpful answer, but not many. Is there a specific question you can point out?

I try to make my answers look like this:

A brief paragraph explaining my answer.

  • A bulleted list of reasons why I think the answer is good

A brief paragraph showing my understanding of your question which may contain a few more questions for clarification.

But, well, sometimes ... you just can't do something, or you could but you'd be shooting yourself in the foot. In that case, an abbreviated answer might also be showing some annoyance that the person did not research their question at all prior to asking.

3

As a counterpoint, I have actually posted questions where I was going down the wrong road and answers pointing me to alternative solutions proved to be the best of the bunch.

At the same time I try to enumerate all the paths I have taken (and the places they led me) and why I've turned to Stack Overflow for more help.

All to say I'm not sure it's that big of a problem.

2

Explain the actual problem you're trying to solve, not just the issues you have with the solution you've already settled upon. When a question says, "I need to do X but it isn't working" and X is something that seems like a very strange thing to be doing, then I will often ask (if I respond at all), "Why do you want to do X? What is the actual underlying problem you're trying to solve?"

When a person is asking help with implementing their solution, an important part of that is always considering whether the solution will actuall achieve the desired outcome. If the question doesn't demonstrate this relationsship, it is not unreasonable to ask.

So, to answer your question: make the context of the question clear, so that knowledgeable readers can follow the logic of the underlying assumptions and avoid the discussion altogether.

You must log in to answer this question.

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