I had a strong discussion with one person about the quality of my answer, and I would like to get an independent opinion.

The question was that user wanted to implement some method himself, but it didn't work. I realized that the problem was in how he calls the method (he did not store results in a variable), so I pointed him to this problem.

But somebody downvoted my answer (and all others). I started to discuss the completeness of my answer with this person via comments. He thinks that it's poor quality because I did not re-implement the original method that did not cover some corner cases. He did not accept my statement that I fixed the problem that the user had, and therefore the asker can continue with his task.

What do you think? Shall we teach newbie programmers so they can learn from their mistakes, or shall we present complete solutions so they can copy/paste them?

See the post.

  • 2
    The question has 7 answers, too many comments and a number of hurt feelings within an hour. Doesn't seem like a very good question "find the bug" and to be honest none of the answers are that fantastic... It doesn't seem worth it. – ben is uǝq backwards Mar 3 '14 at 20:14
  • If an edit to your question incorrectly changes your meaning, then just edit it back to what you meant. Don't stick something onto the end saying that it's wrong. (Especially without actually fixing the relevant mistake.) – Servy Mar 3 '14 at 20:44
  • I am not native speaker, I do not know how to express myself correctly. :-( My original text must have wrong english when somebody reverted its meaning and two people confirmed it :-( – Leos Literak Mar 3 '14 at 20:46
  • Comments cleaned up. Since there's clearly a difference of opinion, someone should have simply walked away. Question seems hopeless; I cast the fifth close vote. – user102937 Mar 3 '14 at 20:50
  • @LeosLiterak Yes, I see that, and you're right the edit was incorrect. My point is that you should just fix it with your own edit, rather than leaving the mistake in the post and saying that it's wrong. Nobody's going to be mad at you for fixing it. (Just don't revert the other parts of the edit that were fine.) I edited it to what it seems like you originally said. If I didn't get it quite right, just fix it yourself. – Servy Mar 3 '14 at 20:50
  • 2
    All that matters is that you are trying to help the person. StackOverflow is not a code writing service, and so answers don't have to be complete and cover every corner case. And, to that guy, I say the following: ||||||||\ – user1228 Mar 3 '14 at 20:54
  • @Servy thanks it is ok – Leos Literak Mar 3 '14 at 21:20

From the FAQ on how to write a good answer. (bold by me)

... Any answer that gets the asker going in the right direction is helpful, but do try to mention any limitations, assumptions or simplifications in your answer. Brevity is acceptable, but fuller explanations are better.

The only requirement (at minimum) is that you answer the question, which from what I can see, is what you did exactly. The problem was on how the asker was using the function, and not on the implementation. So IMO, your answer was acceptable.

As the FAQ says, if you expanded on his implementation, it would probably have been more complete, but not necessary as it lies out of the scope of his problem. Personally, I find concise answers better at times, because they get to the point, where as some overly complete answers put in way too much information that only tangentially relate to the problem.

| improve this answer | |

It is up to the readers of any given post to determine if it is sufficiently "complete". It is going to vary too widely given the specific context to provide particularly specific guidelines. Some questions really require a very complete answer, some don't (and with lots of room in the middle).

| improve this answer | |
  • Exactly. And while I do appreciate the "teach a man to fish" approach, it doesn't always work in the context of a Q&A. The audience expects answers after all. Not hints towards a solution which might exhibit other problems. – Bart Mar 3 '14 at 20:17
  • @Bart It's important to realize that there is room in between the two though. An acceptable answer can describe a solution and explain how to solve it, possibly providing some relevant code, while still not being to the point where the reader can just copy/paste the solution and be done. – Servy Mar 3 '14 at 20:21

Hover above the upvote is "This answer is useful," which is a surprisingly complete recommendation. Your answer was something of a specific and clear hint in the right direction, so I see how people could disagree. In practice, usually voters side against askers of poor questions.

As for me, I neither upvoted nor downvoted. I see why someone downvoted but I personally think your answer was fine.

| improve this answer | |
  • ok, but is he right that I am responsible to write complete solution, otherwise I shall not answear at all? – Leos Literak Mar 3 '14 at 20:31
  • @LeosLiterak I don't agree with that, but I think it's fair to downvote if you feel that way. Downvotes are not defined by a precise judicial code; you'll have to get used to that. – djechlin Mar 3 '14 at 20:37
  • Thanks. I actually discussed with some other person that downvoter (as he stated). And my question was not about downvoting but about answear requirements. I did not agree with his opinion. – Leos Literak Mar 3 '14 at 20:40
  • @LeosLiterak You aren't required to agree with his opinion. People are allowed to disagree. – Servy Mar 3 '14 at 20:48

I generally try to stick to this rule:

  1. I answer the question.

  2. If I notice something dangerous about the code, I always point it out as well.

  3. I will also point it out when I believe that the problem that the OP is really trying to solve calls for a radically different solution than the one the OP tried.

In short, I try to be as useful as I can, knowing that quite a few of my answers address more than what has been asked for.

| improve this answer | |
  • People's definition of when a question has been answered, or whether the question has been answered to a significant degree of completeness. This is basically begging the question. – Servy Mar 3 '14 at 21:06

Shall we teach newbie programmers so they can learn from their mistakes, or shall we present complete solutions so they can copy/paste them?

Why not both? Seems to me like a question of how many upvotes you want, and how hard you want to work for them. If you want to please everyone...well, you can't. If you give your answer and the alternate answer that the OP seems to have been looking for, you might get an upvote from the OP, but you might get a downvote from someone whose "TL;DR"-sense tingled. IMHO, a thorough answer that provides alternatives is ideal, and downvoting due to a TL;DR impulse is childish, but it's a democratic process, and you're certainly likely to at least lose upvotes to the TL;DR impulse (in my limited experience, at least). Brevity factors into clarity, after all. One way to work around this problem would be to post a separate answer of the sort desired by the OP (leaving your original answer unaltered), but that's liable to irk some people too I'm sure. See some differences of opinion on "Two Answers, One Question".

Anyway, a direct answer: if you have time and talent, you should be able to do both in many cases (within reason – maybe just a complete code snippet). If you do, I suspect more people will find your work useful.

| improve this answer | |
  • What does OP mean? And TL;DR? – Leos Literak Mar 3 '14 at 20:42
  • It's not necessarily childish to downvote an answer that is so long and complex that the answer to the question is completely obscured. When a very lengthy and complicated answer is given when a short, simple, and concise one is possible the answer can (potentially) be unhelpful. This is an unusual situation to be in, yes, but assuming that more == better is simply not true. Consider the signal to noise ratio. – Servy Mar 3 '14 at 20:43
  • @Servy agreed; as I said, brevity factors into clarity...but IMHO, the more mature response is usually to abstain from voting if one can't be bothered to read through. If one reads through and still finds it unclear and unhelpful, then a downvote would be better justified, since then it's based on more than an impulse and first impression. – Nick Stauner Mar 3 '14 at 20:48
  • 1
    @LeosLiterak: original poster and too long; didn't read. – Nick Stauner Mar 3 '14 at 20:48
  • thanks @NickStauner for explanation of this jargon – Leos Literak Mar 3 '14 at 21:22
  • Hooray for unexplained downvotes! – Nick Stauner Mar 6 '14 at 21:16

You must log in to answer this question.

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