23

Imagine a situation: an SO user is complaining about inability to create and sprox a woodget. The question title goes: "Help, cannot create a woodget". Code snippet inside:

woo = new Woodget("foo");
woo->Sprox("bar");

You answer the question as initially posed (should've been new Woodget("foo", 1)). The user says "thanks, now the Sprox method fails".

Am I, the answerer, under any moral obligation to debug the rest of the asker's snippet, or is answering the question as initially posed considered sufficient for an answer to be accepted? I feel that I deserve an answer accept. The user might not - the rest of the snippet misbehaves, after all.

Am I justified in telling the user "that's another question, please accept this one and then we'll see"? Or would that be too bitchy?

0

4 Answers 4

16

Keep in mind that the user is under no real obligation to accept any answer. It's encouraged, but it's entirely at his discretion. I would argue that telling a user to "accept my answer" is a little badgering, at least if it's presented so bluntly. I'd interpret it as "give me teh repz" just as much as the users who post "give me teh codez" questions. (Though I'd be lying if I said I didn't leave such comments somewhere in the distant past.)

Having said that, I agree that the user should post separate questions. There are cases where a question can evolve over time and no longer reflect the original question, and whether any particular case fits that scenario is entirely subjective.

I think the best approach would be to explain to the user the difference between the two separate issues and help them create two discrete questions outlining each one. There's certainly no moral obligation, but it's good for the community in general and would certainly serve to help the user distinguish between separate actions in the code (as opposed to copying/pasting some code block without any knowledge of what it does or why it's failing, which many times is what brings them here).

Maybe modify your answer to further demonstrate the discrete nature of the solution you provided. Show code which removes the other problem and focuses on the specific problem. Then in a comment suggest that the user isolate the separate problem in a similar way as another question.

There's certainly no guarantee that the user will abide by such advice. They may very well just say, "I still get another error, this didn't fix my program" and leave Stack Overflow in a huff. But there's nothing any of us can really do about that.

1
  • +1 for slapping down the "give me teh repz".
    – Benjol
    Commented Nov 18, 2011 at 7:22
16

Yes, you are justified. Having questions become cluttered with numerous follow-up questions would be antithetical to the goal of this site: being the best repository of programming Q&A in existence.

When follow-up questions become non-trivial in the comments I just politely tell the user that "that's a separate question which you can ask when this one is resolved." I'm not sure if Jeff would approve of this, but I'll often also suggest they post a link to the new one (as a comment) so I can take a stab at it if I'm free.

4

One question per question should be the rule.

There is a reason we call them questions not question arrays or question sets.

It's harder to get accurate search results if we combine questions together. It's also unfair to the answerer(s) to change the premise after the initial question is answered.

It shouldn't be your concern if it sounds bitchy or not.

Also bear in mind that the type of user who does this is more likely to be the kind of user who won't accept an answer anyways.

1

I would say it depends on how closely related and how much time/effort it would take. If they've provided all the code for the method and you can quickly spot "oh, you're missing a semicolon" or something simple, there's no real reason to create a separate question for that. If it's a more complicated matter or they haven't provided code, then yes they should probably create a new question as not to expand the context of the existing question.

I would be a bit reluctant if someone fixed one thing and then immediately came back saying "now this won't work" because it shows their lack of effort to even try and fix it themselves. As soon as the problem arose they came to us for help. I feel it shows a complete lack of understanding for what they're doing.

Anyways, I personally tend to just ignore further comments to the answer. Whether or not they create a separate question is up to them.

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