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

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
@Jeremy: I think Programmers is more suited -- What makes you think so? Please read my comment on the question in question, Programmers is not more welcoming to open ended / vague questions than Stack Overflow is. Conceptual questions, yes, subjective questions, maybe, vague best practice question, definitely not. –  Yannis Aug 5 '12 at 23:47
Question is better, thanks for editing, I have re-opened. –  The Anti-Santa Aug 6 '12 at 0:37
Thank you @Kev! I don't mean to make an example out of my question or to look like I'm "coming to meta to complain about the decision", but I've had "best-practice"-esqe questions on SO before. I figured it was a good question for meta. –  cereallarceny Aug 6 '12 at 1:20
@cereallarceny Thing to remember: Stack Overflow is not a good model of its rules. The community and what's acceptable and what not evolves over time, some old questions that were perfectly on topic when asked are extremely unsuitable today. Also sub par questions slip through the cracks once in a while, we can't catch everything. Lastly, I don't think anyone interpreted this question as complaining, it's as valid and constructive a Meta question as they come. –  Yannis Aug 6 '12 at 1:25

3 Answers 3

up vote 86 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 a 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
Poetry, yes, but the question wasn't closed just because it mentioned the phrase. I was the ProgSE moderator responding to Kev's ping on whether the (original) question would be suitable for ProgSE, and I can assure you that both of us read the question carefully, Kev before closing it and I before rejecting the migration request. As for the second version, it's a SO specific issue, I won't get involved unless again I'm asked to comment on whether it fits Programmers or not. –  Yannis Aug 6 '12 at 0:33
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 –  The Anti-Santa 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 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 site:meta.stackexchange.com rosinante best practice). –  Pëkka yesterday

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 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

You must log in to answer this question.

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