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

I recently asked this question about best practices, which was quickly downvoted and closed. I want to understand why--not because I'm upset, but because I'm curious. I also think that, unless I'm missing something, these kinds of questions can be helpful.

Now, I understand that subjective questions like "what's the best ORM tool?" might spur overly-subjective debates. But asking "what are some valid ways of approaching a problem?" or perhaps "what are a few of the most commonly used ORM tools?" is less a call for a debate and more of a request to point a user in the right direction. So why are those kind of questions verboten? Some of the best feedback I get from more experienced programmers isn't along the lines of "this is your bug," but "you could greatly simplify this problem by doing X" or "people have traditionally done Y."

Again, not upset, but curious.

share|improve this question
Your intent may be good, but experience has shown us that any such shopping recommendation (and any question that asks for a few of the most commonly used or what are some valid ways is a shopping recommendation) can easily devolve into an opinion-fest. –  Martijn Pieters Feb 26 '13 at 14:56
what typically happens to best-whatever questions, is pretty well described here: "The first 6 to 10 answers start out mostly ok... And on and on and on it goes... until eventually after about two years the question is finally closed, locked and then thankfully dispatched, and you know what? Nobody cared or noticed. What a huge waste of time. These questions appear to be popular because they're easy to answer, everyone has an opinion and a favourite they want to show off. As the months and years pass they degrade..." –  gnat Feb 26 '13 at 15:00
possible duplicate of Exceptional cases for list questions –  gnat Mar 1 '13 at 6:25
It always seems strange to me that if programming is essentially the use of a rational approach, that it should not inevitably converge to an answer that everyone agrees on. Why is it different from Math? Either programming is not really rational, or rationality is not working as it should. In that way, "best practice" should be the only feature of a good answer, and seeking it, the only question. –  no comprende Sep 3 at 11:05
@nocomprende, it's because everything in life is a tradeoff. Is it better to take a bike or a car to a friend's house? Well, that depends what your goals are: taking a car is faster and more comfortable. But taking a bike is cheaper, gives you exercise, and lets you get some sunlight. Similar tradeoffs are present for all technologies - but then again, some techs are just bad: when would you ever use a unicycle with a flat tire unless your goal is to make everyone think you're ridiculous? But at any rate, there's no one answer as each approach offers different benefits and drawbacks. –  slothario Sep 10 at 14:25
@slothario: But in programming especially, if there is more than one answer it means that the question is incompletely specified. I would press for more details until the answer was unambiguous. Otherwise, I could get to the end of the project and the customer would say that is not what they wanted. If they don't know exactly, pin them down until they decide. Same with a Question and an Answer. Usually you cannot narrow down to one answer because people simply have not thought of all the ramifications. Our job is to force them to. That is the entire purpose of rationality: to get an answer. –  no comprende Sep 10 at 16:30
@nocomprende, the thing is, the question is always incompletely specified and there's no getting around that, because real life is too messy. Can you, with perfect rationality, determine whether it would be better to live in City A or City B? Be in a relationship with Person A or B? Just as there are too many unknowns (and unknown unknowns) there, so it goes with programming. Furthermore, it's virtually impossible to get human beings to determine what they really want out of software. I know, because I've tried it professionally. They only really know what they don't want. –  slothario Sep 10 at 20:06

4 Answers 4

To quote Aarobot

[...] real questions have answers, not items or ideas or opinions.


I read your question on stackoverflow to be "I'm looking for consulting regarding a Java app I'm developing". That is a perfectly valid thing to want; it is not a good fit for SO's question and answer format.

share|improve this answer

In my experience, many SE questions get closed as not-constructive for asking the "best" of anything, where "best" is not quantified by the user.

If you'd like to try and get your question reopened, try to editing your question so it's in the format of:

  • Here my goal (most efficient way of performing saves to the database with a specific data structure)

  • Here are the details of my situation (details of class, how class is used, other factors such as slow database, etc)

  • Here are the two options I am considering (save entire structure at once, or save as you iterate through it)

  • Which of these two options should I use given my above-stated goal, and why? Or is there a 3rd option I haven't considered?

I would also remove the separate question about if you should put your data access on your class, and ask it as a separate question. (Or perhaps leave it in as a statement instead of a question, as users will often "correct" you in comments if you're doing something you shouldn't be)

This way, the post ends with a single specific question instead of a request for discussion, or multiple questions.

share|improve this answer
Good advice for narrowing down a 'best' question. –  Andrew Barber Feb 26 '13 at 21:09

Meta sites welcome lengthy (constructive) debates. Stack Overflow does not. As noted by @Martijn Pieters, questions like the one you asked usually turn out to spur lengthy and unproductive debates.

Only Meta sites support debate/discussion on topics appropriate for the specific Meta site. On Stack Overflow you should ask straight questions.

share|improve this answer
Well I wouldn't say meta welcomed debates, we're just a contrary lot. –  Grant Thomas Feb 26 '13 at 17:54
@Mr.Disappointment, I disagree. –  slothario Feb 26 '13 at 20:29

I will point out what you can do, and even stay with the experts on the SE networks. You can take a question like that to the chat rooms!

This will quickly get you an answer (most of the time even faster then asking the question on SO would) without wasting the time of everyone who sees your question constantly bumped to the top on SO because it's so easy to answer.

share|improve this answer
That's a good idea. –  slothario Feb 26 '13 at 20:28

You must log in to answer this question.

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