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

I've written a few questions on Stack Overflow before that have been closed due to being "not constructive" or "not a real question". Now, after scanning the FAQ for the site a few times, I understand that my questions were indeed closed for good reason. However, even after reading the FAQ, I still don't understand why a question of "what's the best practice here?" is a bad thing. I feel as though if you properly explain your situation as thoroughly as possible, then it shouldn't be a bad question at all.

Questions like "what's the best language?" or "which framework should I use?" are indeed bad questions initially, but I feel if you specify in the post (or preferably in the title itself) what the context is, shouldn't that be deserving of some kind of an answer? In my recent question I asked what would be "best practice", and naturally my question was closed. So I read the FAQ and learned how to make a more constructive question, of which I've now re-edited in an attempt to be less vague.

I understand the desire to avoid debate and lengthy discussion over a question, but I also feel as though sometimes there are certain questions which should be asked if proper context is given. Why is a question over "best practice" always a bad question to ask?

share|improve this question
There ain't no "best" for all use cases. Instead of using that tiresome phrase, add context for yours, and exemplify the different coding approaches. Then ask concretly about pros and cons. Question title buzzwords are redundant. – mario Aug 5 '12 at 23:24
Instead of asking for best, ask for possible ways to do X, with pros and cons of each. ideally, include code implementing one approach, thereby showing that you have put effort into your question, and ask if there are alternatives, and when one would use one vs the other. Try not to ask whether there is a better approach, because whether one approach is better than another all depends on the specifics of one's situation. – ToolmakerSteve Sep 21 '15 at 17:24
up vote 142 down vote accepted

While you may be an exemplary, clear-thinking individual, who uses the term best practice in a constructive manner, you have been preceded by a giant procession of zombies who use it as the antithesis of thought. Instead of understanding the important specifics of their situation and looking for an appropriate solution, all they want is to spot a herd in the distance and go trotting off after it.

Thus, the term best practice has been rendered an extremely strong signal of an empty resonant cavity in the place where a brain should be, and questions that mention the phrase get closed.

share|improve this answer
Poetry. – Michael Petrotta Aug 6 '12 at 0:28
Agreed; it's a huge red flag on UX that either means "I'm using the term for no reason" or "holy crap I have no idea what I'm doing". The former gets edited out, the latter (generally) closed. But the phrase itself isn't the problem; it's just a big honking sign that indicates the probable problem. Probably. – Ben Brocka Aug 6 '12 at 0:33
best-practice === cargo-cult – Kev Aug 6 '12 at 0:39
This needs to be printed and framed somewhere, or built into the Wikipedia entry on the subject – Pëkka Aug 6 '12 at 6:52
Condescending and simply not true. Herds are good. Following best practices allows one to be on the safe side. Everyone is unique, as is every situation, but still best practices cover 90% of the cases. You don't have to be a genius to avoid GOTOs etc. – Avi Dec 25 '14 at 16:36
@Rosinante, Also, it's better if newbies just follow the current best practices instead of writing poor code and me having to deal with it because the didn't understand the advantages or disadvantages or at least search for "the best way" that others (which is more than one) are doing. – Iulian Onofrei Mar 23 '15 at 14:56
This is such an epic answer, I still remember it. I find myself tempted to link to it whenever I see a "best practice" question on SO (My Google query to find my way back here is rosinante best practice). – Pëkka Mar 25 '15 at 23:02
I find this answer fairly arrogant and offensive, not to mention that it does not really answers the question. In my opinion, each questions should be considered on its own, and should be labelled based on masses of 'similar' questions. – gen May 31 '15 at 21:10
@gen, this answer is simply the best practice for questions about best practices. Your particular requirements (and your particular question) may differ. Of course each question should be considered on its own...rather than blindly following the "best practice." :D – Wildcard Apr 19 at 0:35

I think questions where the term "best practice" is used may often make a lot more sense if the reader mentally substitutes it with the "common practice" or "idiomatic".

There are many examples in all walks of life where there are 10 ways to do something, of which 5 are terrible, and 5 are perfectly fine and broadly equivalent, yet only 1 is typically employed. All other things being equal you might as well use the idiomatic solution because just like idioms in spoken language this shared context allows us humans with our puny brains to parse what on earth is going on much more quickly.

So I would suggest when wording your question think to yourself, am I really looking for the objectively best way to do this, or just a way which is perfectly reasonable and will cause the least astonishment down the line. You might find you'll get exactly the same answers with less chance of starting a flame war or having your question rejected.

share|improve this answer
I don't mind the word "idiomatic," provided that the user of the word knows what it actually means and is not merely substituting it for "best" to avoid close votes. – Robert Harvey Mar 17 '15 at 22:34

Asking about the 'best practice' could be maybe a good idea on the religious sites, since the religions tend to have 'best practice' for everything.

However, in real life, especially in the creative areas like programming, there's no highest instance that decides what's the 'best practice'. There are some institutions writing some norms, while other institutions may write other norms. There are influentions bloggers popularizing their norms, and others who oppose.

In other words, the first answer for the question about 'best practice' is 'best practice for whom'? It's extremally opinion based thing. There's no simple 'best practice' but many 'schools of thought' which learn doing the same thing in various way. You could ask what's the practice of splitting large classes in, for example, IBM (although not on SO), but asking, what's the best practice of splitting large classes could resolve in 10 contradicting answers, each dogmatic, and a huge flame war.

share|improve this answer
Programmers are religious. – no comprende Mar 18 at 15:44

You must log in to answer this question.

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