My feeling is that an answer would have to be quite a long one, going over many points, to be helpful. My first reaction was to suggest in a comment that the questioner should find a tutor or someone else to show them what to do, since their code was so far from correct that Stack Overflow wouldn't be of much help. But after I wrote that comment, I erased it without submitting. Unlike the homework dumpers, this person actually is trying--they just seem very lost.

What's the best way to handle questions like this?

A lot has happened on that question since I posted here. To see why I think OP was "very lost", you'll need to go to the original revision of the question.

After some suggestions, and some answers from people who just gave the OP correct code, the OP has made some significant changes. Maybe the myriad of different suggestions has helped the OP, and perhaps that's the answer to my question--let everyone find one error and eventually things will get straightened out. But how would the rest of you handle this kind of question?

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

30

Vote to close --> Too broad, No MCVE, etc, pick whatever fits best. Questions are expected to be one question at a time. If the only correct answer would be to indulge in a full 1 on 1 tutoring session, the Q is too broad.
– MagischApr 19 '16 at 6:08

2

If asked to describe a "programming questions with many, many errors" in a single word, what word would be a better fit than "Broad"?
– CerbrusApr 19 '16 at 6:30

6

'let everyone find one error and eventually things will get straightened out' - AKA SO contributors 'race' in parallel to find errors and bugs that the OP shoud have already done. At best, a waste of time that could have been spent on good questions. At worst, you've been had, tossed, played, turned over and the OP has got someone else's homework done for next-to-no effort, has been paid for your efforts and is in the bar with his/her friends, laughing at the naive stupids on SO who can be conned so easily.
– Martin JamesApr 19 '16 at 7:44

7

There is a set of SO contributors who seem to think that, just because there is a 'be nice' policy that they have to adhere to, (else they get suspended), that the policy is rigorously followed by question posters, (who, if they get suspended or banned, just use another of their 20 backup accounts). If anything about a question seems 'off', like the one you describe, then close vote and move on. That is all such questions deserve in the way of effort.
– Martin JamesApr 19 '16 at 7:50

I don't downvote people just because they are trying, we were all beginners once. Just because learning programming for one was hard doesn't mean they have to make it hard on other people too. In this case I'd strip their code down to the bare mimimum, and mention this, to teach them how to strip things down to make sure each step works. Then have them run it and report back. If it works I can guide them with pseudocode, or later, even actual code. Some concepts are hard for some people. C pointers were very hard for me to grasp.
– BulrushApr 20 '16 at 14:18

My main concern is that this type of question has a very low value for other visitors.
– Erno de WeerdApr 21 '16 at 5:45

2 Answers
2

Given that the question just says, "Fix all of the errors" if there are a ton of them then, among other possible problems, the question would be (and has since been closed as) "Too Broad". That question also hasn't provided a specific description of the problem(s) with their code, so the question could also be closed for that associated reason as well.

Of course, if the question was asking about one very specific problem with the code, and it detailed exactly what the problem is, what that portion of the code should do, etc., then that would be different. If the question is such that you can provide an answer to what is specifically being asked about and the existence of other errors elsewhere in the provided example don't affect your ability to answer the question asked, then the question wouldn't need to be closed for either of those reasons; you could just answer the question asked and ignore the other problems (or perhaps mention that there are other problems, without going into a detailed answer on them).

Yes, I've done the sort of thing you describe in the second paragraph. Of course, sometimes it seems like being asked how to achieve the perfect arrangement of deck chairs on the Titanic. Maybe even in that case, I should answer the specific question being asked :) :)
– ajbApr 19 '16 at 15:01

While it can be tempting to try to set such people on the right track, in my experience this is very difficult. If the OP has enough rep to Chat you might be able to do something useful in a dedicated Chat room, but really SO isn't the place for one-on-one tutoring.

Sometimes a misguided OP can be put on-track with a couple of helpful comments or good code examples, but often you'll just go around in circles while the OP maintains a death-grip on their misconceptions. And if they're a cargo-cult programmer then code examples merely feed their habit, they won't actually learn from them.

You should be able to judge whether it's worth trying to help the OP by the text accompanying their code and by the way they respond to comments. If you feel that they just need a little bit of guidance to get on track, and you have the time & energy to do that, then feel free to do so, preferably in a dedicated Chat room.

Otherwise, there's nothing you can do but to nuke the entire question from orbit - it's the only way to be sure. :)