Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

So this question was asked. Essentially, I and others answered with, "It's kludgy to do what you're trying to do. Do it this way, which is faster, more maintainable, and much more robust." The answer never gets accepted, and the OP is unwilling to learn. C'est la vie.

However, it brought up an interesting comment exchange on the question:

Regarding the edit, it sounds like you had already made your mind up before you asked the question. Given that the highest voted replies are telling you "don't do this" why did you even ask for advice if you're not going to listen anyway?

Easy. There was a specific question: how do you do X? The "highest voted" answers are all "Don't do X". That's not about ignoring advice - the answers don't answer the question.

It got me people really expect us to answer questions blindly? Why wouldn't you want to suggest the best (or at least a better) way to solve a problem?

share|improve this question
Just a thought .. What if he has no choice regarding the design? A pointy haired "architect type" boss dictates what to do .. leaves the "easy task" of implementing (yeah right) to a brick-layer-code-monkey who then asks for help (he needs it) ... some cultures are more hierarchic than main stream US. – lexu Aug 8 '09 at 16:50
@lexu: Those questions often come up, and people make that note ahead of time. I think all of us are sympathetic to it. This is just talking about those folks who want an answer now, so long as its the answer they're hoping for. – Eric Aug 8 '09 at 17:05
@lexu When I've seen questions where this is the case, the OP often states (or says in an edit) "I know this isn't the ideal way, but I have no choice because of X". When this is the case, I would encourage the OP to say so, so that mixed in with the "don't do it like that" there will be an answer or two of "you're right, it sucks, but you could do it like this..." – Jared Harley Aug 8 '09 at 18:23

Contrary answers are helpful and appropriate. But you should acknowledge them as such, and explain why.

That said, the asker could be stuck doing it the "wrong" way---or just be bull-headed---so an additional answer giving advice of the "If you really must..." sort is not out of place.

share|improve this answer

Too many people are stuck on their ways. They come up with a 'solution' to their problem, and for some reason feel obligated to finish what they started, regardless of whether or not what their doing is the worst approach humanly possible, because in their mind, it works.

Personally I almost always want the 'best' solution. There are some cases where I know the best approach, but can't use it for one or more reasons so I explicitly say avoid 'x', but this is a limited issue. As I'm still learning, it is always nice for someone to point out more efficient solutions to problems, as long as they don't do it in such a way that they make the OP look like an idiot without even offering advice on how to actually accomplish what they're doing. If I ask "How to do x using y?" and someone says "You can't, you're an idiot" then there's clearly an issue, and of course I would be hostile towards them. On the other hand if they say "You really shouldn't, do z instead", then I am more than grateful.

I think it's a big issue, but I can't really think of any ways to avoid it. Terrible programmers are those that refuse to learn, and they're only punishing themselves.

share|improve this answer

Sometimes the answer of the type "don't do it" tend to assume that the poster doesn't know what he's doing. Just like when I call the brain dead IT dep't to inform them that their craptastic spam filter is blocking our nagios alerts again, with screenshots, excerpts, logs and a definition of "whitelist," and they ask me what version of Outlook I'm using (A: none).

share|improve this answer

Ian makes a good point. I assume that most OPs out there, myself included, are looking for the answer that triggers a 'wow' or a 'why didn't I think of that' or 'yes, I forgot about that.' There are others, though, that might not be on the site (SO) to better their programming skills, but to get over a hurdle in a program they are writing. They might not be ready for the right advice.

These sites (SO,SF,SU) are geared towards two goals:

  1. helping those in need get over their issues as they describe them, and
  2. becoming a repository for anyone else in need to find the right answers when they are pushed to the web for answers.

In this situation, it seems that were you to concentrate on helping with (1), you would not be serving the users who look to SO for (2).

You have a couple options in this case:

  • you could answer as you have done, pointing out the deficiencies in the approach taken by the poster
  • you could answer the question at hand - running the risk of giving bad advice to the community at large
  • you could answer the question at hand, and then provide a strong opinion about the approach, and if you feel strongly enough, provide an alternate solution.
  • you could also just not answer and let it go.

I feel the third option has the best potential for getting you points and easing your conscience.

share|improve this answer

I'm probably guilty of the "Just don't do it" type answer myself, especially with low-quality questions. I've also been on the receiving end, when I haven't thought my reasons would have bloated/diluted the question.

There's two times a poster seems like they need to be saved:

  • When they don't know what they're doing
  • When they do know, but don't think the reasons need sharing (it can bloat simple questions)

There's three possible responses, if we leave personal taste out:

  • Don't do that, it will never work
  • Don't do that, it'll be a world of pain
  • It will be a world of pain (because of XYZ), but you can do ABC

I think the most constructive approach is to assume that there are reasons, and answer the post, but with suitable warnings. The comments can be used to clarify the question, or the reasons behind it (especially if a question states that the obvious approach is ruled out, but doesn't say why)

share|improve this answer

You must log in to answer this question.

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