What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 128 Stack Exchange communities.

Here is a very typical case: http://stackoverflow.com/questions/3571894/
Everyone answers it direct and straightforward, not even trying to step aside from how it phrased or even ask the OP of the background of their question. Even a clearly unambiguous bad practice question is never questioned nor criticised.

While I am always act contrary: I ask myself first - is this question real? What is it possible background? Are there possible wrong assumptions led to this question? Does the OP know good practice and understand the difference?
But I find such a behavior extremely odd here.

I am just wondering - why? What's wrong with me?
Is it a cultural difference? A Stack Overflow custom or even a rule? I really have no idea and I am keen to know. It is not lack of knowledge for sure - even undoubtedly experienced programmers, who will NEVER do the way the OP asks, work their fingers to bones trying to fit the OP limits, not even trying to question it.

How can it be explained?


By the way, I just recalled a quite contrary case! When one have got no answer at all :)
Here it is: http://stackoverflow.com/questions/3448441/
Funny, but the op got NO answer, despite of many attempts and even bounty.
But just boring repetition of well-known rules and scaring tales, but all irrelevant to the particular question.

Despite of seemingly difference, I believe that both cases have common roots.
It's too practical point of view. "I see the problem - I have to solve it!"
But when we have a false problem - it fails.
When we have no problem at all but a just a discussion - it fails. People tend to answer not particular question, but one they expect! And they expect a practical one - "How to escape my data". And they answer it - not the question were asked! :)
It seems remarkable to me.
So, I think we have to be more flexible when estimate a question to answer. Not going always the same rut. Me too.

share|improve this question
    
See: meta.stackexchange.com/questions/8891/… –  Shog9 Aug 26 '10 at 6:15
    
thanks but this question is quite different. All right, "Don't do it" is valid answer. But why almost noone use it anyway? –  user145842 Aug 26 '10 at 6:21
    
Seems to be related to this as well. meta.stackexchange.com/questions/18552/… –  Zoredache Aug 26 '10 at 6:23
    
@Zoredache yeah thanks this one seems more relevant. –  user145842 Aug 26 '10 at 6:28
    
...but it still seems of the same straightforward kind - most of answers tells what to do rather than why. –  user145842 Aug 26 '10 at 6:36
    
Peter, thanks tor your editing. Really appreciated. I am always learn from that. –  user145842 Aug 26 '10 at 9:32

6 Answers 6

up vote 0 down vote accepted

This is something I was asking myself too. I always try to understand why someone is aksing a question and what the OP is trying to achieve.

But this takes longer to answer and will get less reputation in a lot of the cases. And some people don't even honor your effort and some are even completely immune to feedback. It looks like that theses days we are getting more and more "Copy-And-Past" developers that are collecting the code on the internet and assemble it into the project. No understanding of the fundamentals, Design Patterns etc at all. Sometimes people are even perky enough to ask how to implement or architecture a whole application. They are not willing to take the effort of reading some books before asking.

BTW: someone was actually proposing to rething the design in that question you are refering too...

EDIT: There is another bad example http://stackoverflow.com/questions/3574527/how-to-declare-a-public-variable-and-a-public-sub-in-an-aspx-web-page.

Not only is the question not very clear and extremly unspecific, no there are plenty of answers which all can be catastrophic if used in the wrong context.

share|improve this answer
    
That second question is so badly worded that it's difficult to really discern what the OP is trying to do. In general though if someone asks "How can I declare a global variable in X" I think a straight answer to that question is perfectly legitimate. You can't assume that all people that ask questions are idiots. –  Martin Smith Aug 26 '10 at 12:43

I see this quite often. For example, if you look at questions along the lines of "How can I format a date to be included in a SQL statement" there will almost always be push-back stating that you shouldn't include the data in the SQL statement in the first place; you should use a parameterized query.

Basically, I don't see the problem you see. Sometimes there may be questions where the overall approach isn't questioned when it's inappropriate, but I don't think that's the norm.

share|improve this answer
    
It's possible there are differences in the various "sub-communities" of SO. Perhaps the PHP people handle this differently from the ASP people, etc. –  user27414 Aug 26 '10 at 11:36
    
@Jon B: Quite possibly. Neil Butterworth used to bemoan the quality of C++ answers, but most C# and Java answers are pretty reasonable, in my experience. –  Jon Skeet Aug 26 '10 at 19:03
    
Hmm... I wonder why most C# answers are so good... –  user27414 Aug 26 '10 at 19:19
    
@Jon B: Just to clarify, I mean most C# and Java answers I see from other users are good. –  Jon Skeet Aug 26 '10 at 19:29

Reading the question, I am not sure I agree that

Everyone answers it direct and straightforward, not even trying to step aside from how it phrased or even ask the OP of the background of their question. Even clearly unambiguous bad practice question never questioned nor criticised.

There's quite a bit of pushback and warnings about "gee this sounds like a bad idea" in the comments and answers.

The OP seems to be ignoring it for the most part, so what can you do?

share|improve this answer
    
Yeah, nothing. And it's aways hard to move that stone. But my question is slightly different. These warnings are extremely rare and inconsistent. While straightforward answers are always prevail. It is not something like conscious decision, but rather first unconscious impulse. I am wondering why. What makes such a behavior. This question doesn't require any certain or practical answer, it's rather a discussion. –  user145842 Aug 26 '10 at 8:05
2  
So far I've got only one explanation: it's like a conditioned reflex: "all in vain anyway". But such approach spoils the quality of answers, IMO. The site becomes a storage of bad practices too. We've got a common bad practice question, a common straightforward answer and a someone who have found it by using search. Misknowledge is spreading. though it may be shouldn't be my concern as well as some OP's wrong intentions :) –  user145842 Aug 26 '10 at 8:07
1  
The more I think of it, the more important it seems. There may be needed something like Wikipedia's "original research" thing. A sign that reads something like "This is NOT the right way! Can not be used as general purpose solution and need very strong reasons to use". That can reconcile forever antagonist sides of SO - a "Q&A site" and "A source of knowledge". –  user145842 Aug 26 '10 at 9:39
    
@Col. Shrapnel: I wouldn't say "rare" - most questions on "How can I shoot myself in the foot?" I've seen tend to have quite a swarm of comments/answers saying "don't do it because.../do you mean to do X?/this is not the right way" etc. Of course, there are users who will insist on shooting themselves in the foot - but mostly I've seen people willing to take advice. But I guess either I'm looking at a different subset of questions, or maybe I'm not good at keeping statistics on this. (wonder how/if "wanting to do things the Wrong Way" is somehow measurable from question/responses) –  Piskvor Aug 26 '10 at 13:07

I think the best answers to these questions are the ones that both provide a literal answer, and explain the best practices the OP should be following.

Keep in mind you never know the whole story behind the question. There may be something the OP isn't telling us that explains why he wants to do something "crazy".

Just as an example, here's an answer I gave where I tried to both address the actual question, and explain why the OP shouldn't even need the solution he asked for.

share|improve this answer

There are two fundamental ways to look at any question.

  • I assume that the OP is competent and intelligent.
  • I assume that the OP is clueless and incompetent.

The key factor here is not the descriptors, but the very second word: "assume". The fact is, in both cases, I know nothing about this person. You only know the content of their question.

We also tend to discourage stories related to "why" a question is being asked, because it is immaterial to the technical challenge at hand.

So, you should attempt to answer both questions.

  1. The literal question that assumes the OP is a bright programmer who has a fully understood need for an unusual methodology.
  2. The 'best practices' method to accomplish what they want and not what they asked for.

StackOverflow caters to both new and experienced programmers. Answering any question in such a way that excludes one over the other is bad.

share|improve this answer

In the case of this specific question, I still think it has merit, but needs to be reworded, and possibly split into two (or maybe even 3) questions: a) How do I select the same-named column from multiple tables b) Should I have many, many tables all with the same structure (and, possibly, c) How do I get the names of all tables in a database).

share|improve this answer

You must log in to answer this question.