This is a review site, so the questions should be voted on whether or not they are on-topic and if they clearly portrayed their code so that it could be reviewed.

If a question has 4 answers, yes, it may be badly written code, but it still works and shows signs it can be improved. All the answers are up voted, a lot, but the question has fewer votes than the accepted answer.

The logic escapes me.

One example: How can I make this method shorter and easier to follow?

Question = 8 votes (counting mine)
Accepted answer = 12 votes ( not counting mine )

  • 11
    \$\begingroup\$ People don't think of the asker as putting forth as much effort as the answerer. \$\endgroup\$
    – Timtech
    Jan 15, 2014 at 22:31
  • 3
    \$\begingroup\$ Don't get me wrong though... +1 in the spirit of the question :) \$\endgroup\$
    – Timtech
    Jan 15, 2014 at 22:36
  • \$\begingroup\$ @Timtech Upvotes on questions are worth half as many points as upvotes on answers. \$\endgroup\$ Jan 16, 2014 at 12:10
  • \$\begingroup\$ @200_success Exactly. That's why I tend to upvote questions more on other sites (but there are so few of them here at code golf). \$\endgroup\$
    – Timtech
    Jan 16, 2014 at 15:32
  • \$\begingroup\$ @Timtech this is CodeReview \$\endgroup\$
    – Malachi Mod
    Jan 16, 2014 at 15:44
  • 1
    \$\begingroup\$ @Malachi Whoopsies. I mix them up a lot since I have a 2nd Monitor (chat.stackexchange.com/rooms/8595/the-2nd-monitor) \$\endgroup\$
    – Timtech
    Jan 16, 2014 at 15:50

2 Answers 2


It's a frequently asked question: Why do questions need votes, too? has many duplicates.

There's no consensus here on why a question should be upvoted: see this link to chat

My voting policy is:

  • Upvote all answers which I think are helpful (to thank the person who spent the time to answer)
  • Downvote any answer which I think is wrong or harmful
  • Upvote the fewer than all questions which:
    • I think or hope other people will find especially interesting
    • I find especially interesting and for which I'd like to see more answers
    • I think are especially well-asked (clearly written, researched, effort put into asking the question)
  • Downvote any question which I dislike, e.g. because IMO it cannot be answered well, but which is good enough that I can't vote to close it

Therefore I upvote answers more frequently than I do questions (and downvote rarely). I upvote most (not all) question that I answer myself (because I at least thought they were worth answering).

Of the three reasons I gave to upvote a question, the first two above are intended to encourage more answers to this question. The third is intended to encourage future questions from the OP.

  • \$\begingroup\$ What's a "fewer than all" question? \$\endgroup\$ Jan 16, 2014 at 15:15
  • \$\begingroup\$ Contrasted with "upvote all answers", I upvote "less than all questions". For example sometimes I read a question which I didn't answer; and think, "That's a good answer" and upvote it, without upvoting the corresponding question. \$\endgroup\$
    – ChrisW
    Jan 16, 2014 at 15:20

Usually on Code Review, those who answer tend to put more effort in their answer than the person who is asking the question.

To ask a question, you can basically copy-paste some code that you have written and ask "How can I improve this code?". That doesn't make it a good question.

To answer a question, you need to ask yourself: What is this code doing? How could it be done better? Having a lot of programming experience helps to answer a question, but the most difficult part of answering is to "BE the code". Understanding what code is doing isn't always easy.

For the question you linked here, I am down-voting it because it's a simple "copy-paste" question, the asker does not make it easier in any way for reviewers to answer the question. See also: Questions should include a description of what the code does . There is absolutely no explaining the code whatsoever in that question.

  • 1
    \$\begingroup\$ +1 for BE the code. :-) \$\endgroup\$
    – Jamal
    Jan 18, 2014 at 18:41
  • \$\begingroup\$ I also like the point about the downvoting. I usually don't vote on them since the asker really didn't put in any effort to make the question clear, but downvoting looks like a good option. \$\endgroup\$
    – Jamal
    Jan 18, 2014 at 18:44
  • 1
    \$\begingroup\$ @Jamal Knowing what code does is relatively easy: you can 'interpret' the code, 'simulate' running it in your head. Knowing what the code is meant to be doing can be more difficult: you must reverse-engineer the functional spec, difficult if the code is badly written (reference). So, +1 to Simon for asking for a description of what the code does. \$\endgroup\$
    – ChrisW
    Jan 18, 2014 at 21:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .