Etiquette
This site is neither affiliated with nor supported by Stack Overflow. The authors of this content are fully independent and offer advice that might be contrary to that of its staff.
We suggest that you practice the following qualities when asking or answering questions.
Helpfulness
When asking a question
We’ve said repeatedly throughout this site that you should put effort into making your question as easy as possible to read and answer. This effort is what helpfulness looks like for questions. You should also [respond willingly to comments] that ask for more information, even if you don’t understand why they are asking.
When commenting or answering
If you need to [ask clarifying questions with comments] first before answering, comment in such a way that indicates that you have genuine interest in helping the asker drive to some conclusion. Every comment you make should move one step closer to a solution.
Gratitude
When asking a question
Understand that Stack Overflow is a place where unpaid volunteers choose to spend time answering questions. Since there is no cost to you to ask a question, there is obviously no obligation for anyone to respond. If you express anger at commenters for being unable to answer, consider how that makes you look. Free services with community involvement like Stack Overflow should always be taken with gratitude.
Also, be sure to upvote answers that are helpful, and mark one as correct if it solved your problem, which awards the points to the person that helped. This is the best way to show gratitude on Stack Overflow. Don’t abandon your question once you find a solution.
Compassion
When commenting or answering
Understand that someone asking a question might be very new to programming and Stack Overflow. Don’t assume that they already know how to ask a good question. They might be frustrated with their task, facing a deadline, or just having a bad day. Don’t make these situations even worse.
Consider not downvoting questions at all. Downvotes are entirely problematic, and it can only make a bad situation worse for the asker, especially without a clear reason. Instead, consider commenting with advice on [how to improve the question]. We have a lot of [template comments] for a variety of situations that you can borrow from quickly if you don’t want to write one yourself.
Humility
When asking a question
Always start with the assumption that something is wrong with your code rather than some framework or product you’re using. We’re surprised when we see questions that say “there is nothing wrong with my code” especially when that is definitely not true. If you believe something is wrong outside of your code, and have debugging information to back that up, you should try to file a bug report with the product instead. Stack Overflow isn’t a good place to file a bug or complain about others’ work.
When commenting or answering
Be willing to admit when you’re wrong or when you don’t know something. If you’re sure that you’re right, and take up an argumentative stance in your comments (either defensive or offensive) that doesn’t help the asker drive toward a solution. If the asker is refusing your advice, and you have nothing else to add that drives toward a solution, just stop commenting entirely and be done with the question.
For everyone
The reputation score on Stack Overflow is a way of recognizing active and effective community members. But do not let this number affect the way you interact with others. Don’t “pull rank” if you have more seniority - treat everyone with equal respect.
While you might be very knowledgeable in some areas, there are always going to be others with more experience than you, especially in areas where you don’t have expertise. Respect that anyone chooses to put effort into asking questions or answering them.
If you leave a comment somewhere, only discuss the content of the post and not the person posting it. Don’t offer any opinions about anyone’s competence or motivations.