Note that votes are largely subjective, this is my cheatsheet.
I generally use "does the post help the site?" to judge upvotes and downvotes to some extent. This is based on the same thing, expanded into points. If you want. I can expand the points/add more if I think of them.
For beta sites, try to be a bit more liberal in terms of votes in the early stages, especially if you don't have too many high reps. You need enough people with high privileges, and voting on a not-bad-but-not-awesome post isn't a bad thing.
Try not to let other factors like the vote score and other answers influence your vote. Sometimes, one sees a massively xvoted post, and piles on another xvote. Not really harmful, but it's always better to judge for yourself first. Similarly, don't let the poster or his rep affect your vote. Read the post with the same critical eye with which you would read the post of a 1 rep user. Experts can make mistakes as well. Downvoting and mentioning it in a comment is exactly what you should do when you see a wrong post, regardless of the user. Stack Exchange is about posts, not users. Reputation is a rough way to gauge community involvement and how much the community trusts you, but it really is just a "necessary evil" to aid the privilege system (and it also is a sort of reward). Don't use it to gauge post quality. If you think something is wrong, comment (and downvote if you are confident enough).
There is the opposite case of "compensating a vote". Here, one votes in such a manner as to bring the post to what one feels is the correct vote score (by downvoting massively upvoted mediocre questions, etc). Again, this isn't good. So try to ignore the existing vote score when voting.
Question
To downvote a question, downvote immediately. If there's scope for improvement, comment and downvote. You can always undownvote if it's improved. Read more about Stack Exchange's philosophy of question selectiveness.
Upvote
(pick one)
- It's clear and shows research effort
- The question is plain awesome (in case of fun questions, this can go either way)
- The question is useful to others
Note: Do not upvote solely to free the post from an undeserved negative vote.
Downvote
- It's unclear
- It's a plzsendtehcodez or similar question with no effort from the OP
- It's localized (will probably be useless to the world)
Note that I tend to upvote questions when their answers explain something pretty well. This is probably wrong, but that's just me.
Do not downvote just because:
- The question uses incorrect grammar (as long as it is comprehensible)
- The question has bad, (but clear) code; the question uses bad coding practices; the premise of the program is wrong. In this case, just comment "why haven't you done blah?". If you're answering, you can append that to your answer instead. (I've done that here.) Remember, voting is to filter post quality, not code quality or OP quality.. Also, there are legitimate uses for everything, even
eval()
.
Answer
With answers, again, downvote immediately, comment, undownvote if fixed. With newbies I tend to be more lax, I comment first and downvote if they decide not to listen. But again, that's just me.
Upvote
Of course, in any event, the answer must answer the question. If not for the last line of this answer, it should have been downvoted. (Not that it would have been.)
- The answer is clear
- The answer explains the underlying concept. On SO I've noticed many answers that give the solution, but not the "Why?". I do not downvote these, but neither do I upvote them
Note: Do not upvote solely to free the post from an undeserved negative vote.
Downvote
Try to comment whenever applicable when downvoting.
- Does not answer the question. Flag at your discretion.
- Makes no sense
- FGITW post with minimal answer: This depends upon the answer really.
- Code-only answer: A post must be useful to People From The Future™. Nobody's going to have the exact same code with the exact same issue (Well, maybe not). People From The Future™ should have an explanation of why the code is wrong/bad/whatever so that they learn something.
- Link-only answer
- Is wrong (in your opinion).
- Bad coding practices. Unlike questions, the answer should use good coding practices. For questions and answers, post quality is differently measured. For questions, it has to do with the actual question more than the code. For code-only answers, bad coding practices are…well… bad. In the case of a good explanation with bad code, downvote, comment, undownvote. Or abstain from voting and comment. Either is fine, it's up to you.
Do not downvote just because:
- It's a competitor. Voting is for post quality, and you end up harming the system. Also, upvoting competing answers gets you something shiny.
- Again, grammar that does not affect comprehensibility too much.
Comments
Who cares? Keep this in mind that on a post with a large number of comments, the ones shown will be the upvoted ones. So the comments which actually improve the post quality/help the OP should be upvoted. But, we know, nobody's going to follow that— Not enough jQuery
is a sure way to get you a comment upvote. And on MSO, comment-upvote just about anything :) [Scroll down a bit to see what I mean]