This post is intended to be a reference for the various comments made to new users asking them to change something about their post.
Important
If you link any of these, I recommend that you personalize your comment a bit to avoid accusations of rudeness. Example:
We don't know what you are thinking [1]. Please provide more detail about your thought process so that we can provide you with a decent answer.
This is not a tutorial. Rather, it is a way to provide "Just-in-Time" authoritative feedback to new users who trip over one of these well-known land mines.
Return to FAQ index [34]
The Stack Overflow community is very forthcoming with their help, provided you have done a few things to help yourself. [1] Have you:
The SO community will not write a complete solution for you, develop a complete walk through of a problem, or do your background research for you, unless your question is specific and focused on a reasonably small scope.
[1] http://mattgemmell.com/2008/12/08/what-have-you-tried/send-me-da-codez
in other words. Copy/paste is a symptom, not a solution. - Robert Harvey
Always provide enough information in your question so that we can answer it.
Make sure your examples are relevant to your question and complete. Don't ask about features in your code which you have not shown in your example.
Don't just state "it's not working" or "I have a problem." We need to know what exactly is wrong, which means what error message you get, if any, or at least what exactly is happening versus what is expected to happen.
on Line 156...
. We have no idea where that is, and we're not going to count down 156 lines from the top (assuming it is complete) to find it. Please point out where the error is. - chris
Requests for book recommendations, suggestions for tools, and product comparisons tend to attract poor-quality answers [1].
We cannot reliably tell you what the best book, language, platform, tool or library is. We might be able to tell you which one will meet your specific needs right now - but chances are that won't help anyone else a year from now.
Instead, try to ask questions that prompt instructional answers. Seek explanations, not suggestions: be specific about what you need to accomplish, learn, or buy, but ask how to accomplish it, learn it, or select it.
Do not simply copy/paste your homework questions, and expect to get an answer.
If you get stuck on a problem, show us your work, and explain why you're having trouble. Community users are expected to help you get unstuck, not solve your problem for you.
You may use the homework [1] tag on your homework questions, and part of the community may complain if you do not, but it is not mandatory. Concentrate on asking a good question that will help you learn.
See Also
How to ask and answer homework questions?
[2]
Please avoid lengthy commentary that detracts from the focus of your question. An optimal post contains only a succinct description of your problem and any relevant background information.
Example of post containing unnecessary commentary:
Hello dear people, I started a new project two weeks ago and am really excited. I have two days left to complete the part where I need to input user names and emails and then store them to the database [etc.], but I'm worried because my girlfriend's birthday is this weekend. Can you help? Thanks in advance, Jimmy.
Preferred alternative:
I need to input user names and emails and then store them to a database. Here's what I've done [short description, code samples, etc.], and here's where I'm stuck [short description, code samples, etc.]
Signing your post with a name is not needed. Users can click on or hover over your name to know more about you.
Adding @user
in your question/answer does not notify the user. When you want to start your post with @user
, it should usually be a
comment
[1].
Please remember that the best way to thank someone who answers your question is to accept their answer [2].
Please don't copy-paste a large block of code and expect us to find the error in it. If you are looking for feedback on a specific working piece of code from your project in the following areas…
then (and only then!) check out http://codereview.stackexchange.com
See Also
Short, Self Contained, Correct (Compilable), Example
[1]
Stack Overflow is specifically designed to get answers to your questions. [1] Extended discussion is a distraction, so please don't ask us to engage in it.
Do not post as answers:
If you need clarification about a post, leave a comment instead.
If you have relevant additional information to add, edit the post instead of adding a new answer. Rather than simply adding new text to the bottom of your post, try to incorporate the new information into your existing text.
There should rarely be the need to use "EDIT" or "UPDATE" markers or strikethrough text. There is never the need to add "SOLVED" to your title; instead accept the answer [2] that was most useful.
See here [3] for additional discussion.
[1] http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspxWe expect you to put a minimal amount of effort into your post to make it look professional. We expect:
Capitalization is especially problematic. If your shift key is broken, get it fixed. If you're posting from a cell phone or other mobile device, there are settings on the phone that will automatically capitalize and fix misspellings for you.
You want the community to focus on your problem, not your post's problems. It's not fair to the community to ask them to answer your question, and clean up your post also.
[1] http://meta.stackoverflow.com/q/10647/102937Badges and reputation are nice, but they are just motivators. We are all here to help each other, and maybe gain a few reputation points in the process, but don't make that your only goal.
Don't try to game the system with sockpuppets and other devices. Reputation is supposed to be a measure of your effort to help the community, not a way to show how cleverly you can cheat the system. Gaming the system just lowers the value of rep and badges for everyone.
Be here because you want to help people and/or get help yourself.
See Also
Don't Call Yourself A Programmer, And Other Career Advice
[3]
The Q&A format of Stack Overflow is not meant to handle storing lists of anything other than answers to questions.
Lists are broad, all-encompassing and do not have upper limits on the number of items in them. They are also very temporal and mercurial in nature, requiring time and energy to make sure that the list is always up-to-date.
If you want to store lists of things, you are free to store them on your own site(s) on the Internet; placing them on Stack Overflow will not do anything to help the popularity of them. If the list is truly of value, then people will notice. You are free to put a reference to your lists in the "about me" section of your profile.
If your question or answer gets a downvote or gets closed, or someone says something that you don't agree with, or that you flat out don't like, it is not personal. This just indicates that someone disagrees with what you have written.
If you do encounter abuse (towards yourself or another person) you can flag for moderator attention.
But please first try to ensure that you are not being overly sensitive, and that it is not just a question of cultural differences.
If you came here expecting to use your existing knowledge of how online forums work, you may be disappointed. Stack Overflow is very different.
Before you ask or answer your first question, your should read the following:
You should also consider "lurking" for awhile first, reading other people's questions and answers, to get a feel for what is considered appropriate interaction in this community.
If you have a problem with some organization or individual's product, tool or service, try to get it resolved with the organization or individual directly first. They are the experts, not us.
Stack Exchange sites are not designed for personal communication; they're about questions that can be asked and answered by the community. Posting a question on the off-chance that someone from Google or Microsoft might read it may not be the best plan. If you require information from a specific person or company, send an email.
We are not Facebook. If you have a programming-related question about Facebook's API involving actual computer code, feel free to ask it on Stack Overflow. If you need your Facebook account unlocked, or have some other customer service-related problem, we can't help you with that.
Don't ask questions that can be easily answered with a simple Google search. Don't just ask for links to external resources in your questions.
Don't post bare links as answers. If the link breaks, your answer becomes useless. If you wish to promote your blog, provide some value with your answer, such as code samples or a brief summary.
See Also
How can I link to an external resource in a community-friendly way?
[1]
Stack Overflow is not a place where -
Do not offer financial incentives to get people to answer your questions. Offer a bounty instead. [1]
[1] http://meta.stackoverflow.com/questions/16065/how-does-the-bounty-system-workWe're not here only to get help, but to give it. Don't only ask questions. Give back to the community by answering questions, editing posts, and/or helping others.
If some answer happens to resolve your problem, mark it as accepted [1] so that other users who find the question know the most likely answer. If you find an answer yourself later, do post it so that other users who find the question know how you resolved the problem.
[1] http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-workYou may be tempted to ask a broadly-worded, fun [1], or otherwise off-topic question, using questions already on the site as evidence that you can ask yours.
Don't.
Although we have rules, the community, for the most part, decides which posts get to stay and which posts do not, unless a post is clearly off-topic. Some posts get to stay, regardless of the rules, because they are stellar posts having intrinsic value or historical significance. [2]
[1] http://blog.stackoverflow.com/2010/01/stack-overflow-where-we-hate-fun/Keep interactions between users and the system civil, professional and clean of any language that could be considered rude or offensive.
Keep provocative pictures out of your Gravatar. It's not about free speech; it's about being professional.
Stack Overflow has an extensive tag system [1] which allows users to identify what technology is involved in a question, watch or ignore certain subjects [2], narrow their searches to a specific area [3], and even learn about the tag's subject via its wiki [4].
This tag system works. You can rely on it to notify users who are interested in a tag about your question. Stack Overflow is optimized so that tags are indexed by search engines along with the content of the question. Users are guaranteed to view your tags, and will take them into account when answering your question.
Therefore it is completely unnecessary to force tags into your question titles.
You absolutely do NOT have to use any one of the following forms when composing your title:
The only time you should use tags in your title is when they are organic to the conversational tone of the title. For example,
JavaScript, jQuery: When should I use one or the other?
is an example of forcing tags in order to compensate for a lousy title. The title would be much clearer if rewritten thusly:
[1] http://meta.stackoverflow.com/questions/30187/what-do-icons-on-the-tags-meanCan I use jQuery to foo the bar on the baz, or am I stuck using plain JavaScript?
Do not post rants, unsubstantiated opinions, or inflammatory questions or answers.
If you have a beef with the way things are run on Stack Overflow, ask a question here on Meta Stack Overflow. But don't make your only argument that it is not fair, or that people aren't being nice.
If you have working code in one programming language, don't just post it to Stack Overflow and ask others to translate it to another language for you. Instead, try to write the code yourself and post what you've tried when you run into problems. Explain the requirements in plain English, not in code in another programming language.
The fact that you can't find anywhere else to ask your question does not automatically make it suitable for Stack Overflow.
The FAQ states that you can ask questions about:
Note that many questions unsuitable for Stack Overflow are appropriate on some other Stack Exchange site. For example, if you've created a website in ASP.NET [1]:
These are just examples, but the main point is: Stack Overflow is for programming questions, not necessarily for any and every question that's related to something you've coded.
[1] http://en.wikipedia.org/wiki/ASP.NETIf you have a question about the site, whether it be how it works, a bug you found in it, or an idea you think might be beneficial for the site, ask on Meta [1] (this applies to ALL SE sites!).
See Also
[1] http://meta.stackoverflow.comWe do not know:
If you have a specific, technical programming problem relating to your contest entry, your thesis, your open source project, your developer tool, and so on, Stack Overflow is a great place to ask it. But brainstorming up novel, creative ideas for you is not what we do; that's your job.
Questions on the interpretation of licenses, or contracts, or any other point of law, are not what we do here. There are other resources on the web that offer overviews and tutorials of common FOSS Licenses, and, as for contracts, this is not the place.
Don't post the same identical question over multiple Stack Exchange sites as it leads to fragmented answers splattered all over the network.
See Also
[1] http://meta.stackoverflow.com/questions/64068Avoid asking generic "What's wrong with my code" questions:
If your code doesn't work, tell us exactly what the problem is, and paste the exact wording of the error message into your question. Include the steps you've already taken to try and diagnose the problem, including your use of a debugger and breakpoints.
Paste the relevant portion of your code into your question. Pastebins, Fiddles and links to your website are OK, but we still need to see the important code in your question.
:)
- gdoron
Please do not post a question, receive an answer, then edit your question with that answer incorporated with the expectation that the community will now address whatever problem you are now encountering.
We are trying to build a repository of questions and answers to programming problems. Editing your question to remove the first problem you encountered means that future programmers will not be able to find your question, and the answers that others have put work into will now appear to be nonsense.
If an answer gets you past one problem into another, mark the most helpful answer as correct, try to work through whatever new problem you're encountering, and if necessary, post a new, self-contained question, with your new problem.
Speculative questions about what will company X do, or what direction will technology or language Y and such take, are not answerable.
We don't know when the next version of [your favorite technology] will be released, nor do we know if [your favorite technology] will become the next big thing.
Don't post a link to someone else's software or site and expect us to analyze it for you. We will not reverse engineer someone else's application so that you may better understand how they did it.
If you really like a feature on some site - investigate!
Crack open your
Chrome developer tools
[1] or
Firebug
[2] consoles and start poking around.
The Stack Overflow community is happy to help you gain a deeper understanding of the programming concepts you have already learned, but the question/answer format is not well-suited to questions that seek basic understanding of a language's syntax and rules.
Questions such as:
virtual
do in C++?are much too "big" to fit in to the question/answer format of Stack Overflow and are better learned by reading language texts and following tutorials.
Even if you are working under a lot of pressure, and you think a quick answer will allow you to deliver on time, do not post things like:
We are volunteers, and doing that is commonly viewed as disrespectful at best, downright rude at worst. It will work against you, because your question will usually suffer many more downvotes and/or close votes than it would otherwise have.
Instead, you can put a bounty as soon as the delay (two days) has elapsed, or possibly link to the question on your social network of choice to attract more eyes.
Many questions have already been asked before, and received some good answers that will help you immediately. The first thing you want to do is find out whether such a duplicate might already exist.
Think about what search terms might lead you to a good Google result. If you can't think of any terms, enter your question - a complete sentence! - and see what comes up. Alternatively, enter what you would have used as your question's title. Very often, this will already give you a solution to your problem.
If that doesn't yield anything, try the same searches on Stack Overflow. Did you know that SO has a powerful advanced search? [1]
If that doesn't work for you, either, then click Ask Question [2] and fill in the "Title" field. Pay attention to the area underneath. See the list named "Questions that may already have your answer"? Check that out, too, it may already contain a good answer for you.
If that doesn't give you anything useful, either, then it's finally time to go ahead and ask!
[1] http://stackoverflow.com/search?q=Content that is deemed off topic or not constructive on Stack Overflow may be deleted at any time. Deletions can be initiated by the votes of at least three users with more than 10,000 reputation points, or a moderator.
The interpretation of what is on-topic, and what is not, may change, or become stricter, over time. This has happened in the past, resulting in the deletion of many questions, [1] even popular ones.
If you contribute something to Stack Overflow that you think must be preserved for the ages, make sure you keep a backup copy, especially if it answers a question that is close to the border of off-topicness.
If you feel something has been deleted in error, flag the question for a moderator's attention. For valuable content that has been closed, but deserves to stay visible, there also is the historical lock [2].
[1] http://meta.stackoverflow.com/questions/122120/the-great-question-deletion-audit-of-2012Avoid asking questions like "Which is faster?" unless you have already tried profiling the code yourself, and if you actually know it is causing performance problems in your code. If you have not put in research effort, chances are you will be told that the difference is only nanoseconds and it is "probably optimized out by any modern compiler anyway." If one alternative you are proposing is much clearer or more straightforward, always go with that choice unless you have demonstrated the code is affecting your application's performance and have demonstrated the less clear code performs better. It is OK to ask for advice regarding how to profile or how to determine if your code is affect performance, provided your question meets other SO criteria.
discussion here. [1]
[1] http://meta.stackoverflow.com/questions/137007/strategy-for-dealing-with-which-is-faster-questions
not a shopping requesting/suggestion site
? - PresleyDias