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. ##Question To downvote a question, downvote immediately. If there's scope for improvement, comment and downvote. You can always undownvote if its improved. [Read more][1] ###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 ###Downvote - It's unclear - It's a [tag: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][2]). **Remember, voting is to filter _post_ quality, not _code_ quality or _OP_ quality.**. Also, there are legitimate uses for _everything_, [even `eval()`][3]. ##Answer With answers, again, downvote immediately, comment, undownvote. 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][4], 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 ###Downvote - Does not answer the question - Makes no sense - [FGITW][5] post with minimal answer (For that matter, _any_ post with just a bunch of code and no explanation--unless the question warrants it) - 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 `cos - It's a competitor. Voting is for _post quality_, and you end up harming the system. Also, upvoting competing answers gets you [something shiny][6]. - Again, grammar that does not affect comprehensibility too much. ##Comments Who cares? Keep this in mind that on a post wil 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] EDIT: To safeguard myself from the ensuing comments of `not enough jQuery`, I present to you: In short, DO NOT `$('.vote-down-off').click()` in case of competing answers. Try to `$('.vote-up-off').click()` in most cases. Then downvote manually :) [1]: http://blog.stackoverflow.com/2011/06/optimizing-for-pearls-not-sand/ [2]: http://stackoverflow.com/a/10260058/1198729 [3]: http://stackoverflow.com/questions/197769/when-is-javascripts-eval-not-evil [4]: http://stackoverflow.com/a/1732454/1198729 [5]: http://meta.stackoverflow.com/questions/18014/what-is-fgitw-and-scite-on-mso [6]: http://meta.stackoverflow.com/badges/119/sportsmanship