2

Questions are often answered in a slightly teacher like fashion based on a feeling of deeper understanding of the answering person. That is definitely useful in many cases, but also often annoying. Simple things are usually already comprehensively answered, so it is easy to come up with a question provoking that.

A hard question favors simple answers like "You should not do ... use ... instead", "it is no good style to ..." and similiar. It is hard to get the answer to the precisely asked question, and not an answer trying to redefine the question to something more obvious.

If the proposed alternatives prove useful it maybe seems still ok to give up votes; if the proposed alternatives don't prove useful due to not mentioned circumstances, it doesn't seems OK to give down votes.

One could edit the question, excluding the seemingly easy answers, leading to a growing thread of excuses why the question should be answered as-is and not replaced by another one.

What are your thoughts about?

3 Answers 3

9

If you know of an obvious answer to the question, but it's inappropriate, then that information should be part of the question: "Normally I'd use a generic type, but I'm restricted to .NET 1.1 in this case" or "I'd usually use a parameterized query, avoiding SQL injection attacks as well as this formatting issue - but the database I'm using (ACME DB v0.0.1) doesn't support parameterized queries. I'm sanitizing the data separately."

Putting a bit of time in when asking the question - anticipating any answers you've already thought of - can really make a question much more useful, in my view.

3
  • 1
    This was exactly what I was going to write. The quality of answer is dependent on the quality of the question. If you don't describe details why obvious solution doesn't work in your case you can be sure that people start with obvious solution / best practice / etc. Invest time to explain your question. If you don't like the answer because it doesn't answer your question you can always downvote it. May 8, 2011 at 20:47
  • Sounds plausible... But I can think of the counter-argument that this obvious case is already handled comprehensively as straight answers to simple questions. Maybe the answering person should then invest more time to link an apopriate simple question with answers...
    – dronus
    May 9, 2011 at 21:17
  • @dronus: How is the person answering meant to know whether the person asking has already considered the simple answers? That's the tricky bit. You don't need to go into huge amounts of detail - just explain briefly why the most obvious answer isn't appropriate.
    – Jon Skeet
    May 9, 2011 at 22:19
6

This has been argued before. I'm of the opinion that any "answer" needs to answer the question. You can start or end with "By the way, it would be much simpler to do X", but that can't be your entire answer. I've had too many cases where I search for the solution to a problem, and find dozens of forums where people asked the exact same question, and the answers are "no, don't do that" because in the asker's particular example there was an easier way; it's immensely frustrating. That rarely happens on SO, and I'd like to see it stay that way

1
  • It happens to me on SO too.. An example. Well, the simple answer there would have be the frustrating 'no, it's not possible'...
    – dronus
    May 8, 2011 at 20:12
3

What a questioner should do:

If you ask a question and get a number of responses in the vein of "Don't do that, here's why", I believe you should consider it an opportunity to learn, and take full advantage of the experience and knowledge that is being presented to you. Engage the people who try to help you; ask them for clarification, tell them your understanding of the situation and see what they think. If you considered the possibility that they offer, then say that*, give your reasons, and see what the response is.

Answers that are no more than "What are you, an idiot? Don't use X!" should be downvoted or flagged, of course. You'd be absolutely foolish, though, to turn down an offer of knowledge-sharing just because it isn't the precise, immediate solution to the problem you face. You may not know that you are choosing between a shoe and a bottle to pound that nail.


MY INITIAL REPLY: What an answerer should do:

You should absolutely tell the questioner to put down the shoe and buy a hammer if necessary. This is an opportunity for community-building, in fact. Your answer (assuming that it is politely and constructively worded**) can actually engage the questioner to think more about the problem, learn something new, question assumptions, all that good stuff, instead of just providing a chunk of code for the pasteboard. When another person with the same question comes along, the discussion of the whys and wherefores will be there, preserved, further disseminating actual understanding.

I'm not saying that "Don't do that!" is an acceptable answer, but giving details as to why not absolutely is. Experts who have the ability, and also take the time, to explain problems to less-experienced questioners are invaluable, and their participation should be encouraged, even actively sought.


*Although that really should've been in your question to begin with, of course

**I think the example in the blog post I linked to falls short of this mark

2
  • Well this is an answer more about what an answering person should do, I asked about how the questioning person should react to such answers. So your answer illustrates that problem well :-)
    – dronus
    May 8, 2011 at 20:34
  • @dronus: I apologize for that, but even on re-reading I do not find it at all clear that you are asking what a questioner should do.
    – jscs
    May 8, 2011 at 20:38

You must log in to answer this question.

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