This post should not be linked to as guidelines for post quality. It is from the Area 51 days and is not kept updated with policy changes.
- If you're asking a question, please refer to What is required for a question to contain "enough information"?
- If you're answering, refer to What is required for an answer to be high quality?
This was originally posted by me on Area51 Discuss and has proved to be a valuable guide when it comes to asking and answering the kinds of questions a site like this needs to thrive. Please, use this as a base line, but refine it, tighten it up and use it for the basis of your help center entries. I'm moving it here for better visibility and reference.
(mostly) Original text follows:
While we discussed the topic of a site for software recommendations, we had to take some time to identify our chief concerns with recommendation & shopping type questions. The number one problem that we agreed upon was pretty simple:
They tend to overrun a site.
This entire site is dedicated to this type of question, so this is obviously a moot concern. With that said, the second chief concern was quality - so we do want to lay down some ground rules when it comes to asking and answering this type of question. We're honestly excited to see where this goes, and will support you to the best of our ability.
Asking recommendation questions
It's important to keep your questions as narrowly-scoped and specific as possible, because this is what's going to steer the types of answers that you receive. This is best illustrated by example, starting with titles:
What's the best IDE for Python?
This will be closed immediately, as it does not:
- Explain in detail what you hope to get out of an IDE in terms of features, license or cost
- List any applicable frameworks that you might be using, or other possible compatibility quirks with your workflow
- Indicate any that you had previously tried, and why you didn't like them
- Do anything else to encourage answers to be as specific as possible
- Obviously, 'best' without context is never going to work - in fact please try to just avoid the word in titles. If you ask about an IDE for Python on Linux that has (features), we're pretty certain people aren't going to recommend the worst.
What Python IDEs support Django?
This is a much better question, as you've really narrowed the possible answers with some additional criteria. If you can add more criteria in the question body, then you've got the makings of something that is useful, and very unlikely to receive a bunch of mostly link answers.
What Windows Python IDE supports Django and ships with a pink color theme?
... I think you get the point, more specifics means a better question. Ideally, questions will on average have only 5 or so answers that actually address the question constraints to the best of their ability.
You must also be prepared for answers that simply inform you that no single thing meets your needs, but goes on to recommend things that cover what you've identified to be the most important. Hence, make sure you're clear about what you must have out of something, and what would simply be nice to have but not absolutely essential.
Good questions describe specific needs, contain bullet lists of constraints and inform anyone that cares to answer as to which constraints are the most important.
When it comes to libraries, show your ideal use of a prospective library. What features should it provide? What kind of interface would you like in ideal circumstances? Does it need to be able to compile even under certain compiler settings, or platforms? Do you have a size limit in lines of code, allocated memory, or both? Just like in the IDE example above, it's very helpful when you indicate how important these constraints are.
Answering recommendation questions
We need to put just as much work into answering these questions as folks put into asking them. Answers that contain little more than a link will be deleted without question, comment or other ceremony. Additionally, our policy on excessive self-promotion will be even more heavily enforced on the site. If you're asked to stop promoting a product that you're affiliated with by a moderator or community manager - you need to stop, or you'll likely be asked to leave the site. Spam filters will be adjusted accordingly - so be careful.
If you work on a product, be it free, gratis or proprietary - it's fine to recommend it to people opportunistically provided that you include full disclosure of your involvement with the product. If more than a small percentage of your posts mentions your product, we're probably going to need to have a talk.
Good answers on this site will be in the form of honest testimonials that share first hand experience with something and why it meets the needs of the asker.
You should answer questions when you have first hand knowledge of things that satisfies at least most of the constraints given in the question. You should be ready to talk about your experience with it, what you liked about it, what features it does (or perhaps doesn't) have, within the context of the question. You should also talk about any potential quirks that you can think of, and even things that you found to be a down side of the product. In short, share your experience with something, not simply your knowledge that it exists.
Answers that do not even come close to meeting the constraints described in the question should be flagged as not an answer, and will be removed quickly.