Before I ask my questions, I need to describe two types of low-quality users.
A type P user will post a block of code, possibly with a stack trace, and text that boils down to "this doesn't work right, tell me what's wrong." After an early answerer says something like "well, you declare
foo but you don't initialize it," the user will stop paying attention and run back to his IDE, perhaps leaving a comment saying "oh I see it now thanks."
Then, five minutes later, the same user will post a new question with the same code (except that
foo is properly initialized). Someone else will answer with "oh, you can't put
final inside the parentheses, it has to be at the start of the line." This cycle repeats until there are half a dozen questions, each identical to the one before it except for one change.
Type 84: ← AKA chameleon question askers (thanks Grace Note)
A type 84 user will initially post the same sort of question as a type P user. After getting an answer, though, he'll update his initial post over and over until the early answers no longer make sense.
Type Ps often turn into type 84s, and vice versa, either on their own or in response to well-meaning commenters who say that their behavior isn't constructive. I'm writing this post in large part because I've been one of those well-meaning commenters and I wish I had a better response.
Of course, the real problem in these cases is that the users are posting code with multiple errors that they don't fully understand. The way we handle things now — which is to say, not very well — gets them frustrated with mean Stack Exchange users, gets us frustrated with clueless newbies and wastes everyone's time in the process.
I realize that I'm not describing a new phenomenon by any stretch of the imagination, but I think we may need a different approach here than we give to low-quality users in general. The low-quality asker algorithm won't pick up on 84s as much, I think, and Ps can tie up a lot of resources before they get noticed. The good thing about Ps and 84s is that they're engaged, so we at least have an opening.
What is the proper response to the situations these users create? How can we best help them with their immediate problems and grow them into productive community members? I realize that a certain subset of these users will never become productive community members. How can we minimize the pain on both sides when dealing with them? It does us no good for people to go around saying SE sucks, after all.
Some of you are probably wondering why I chose P and 84. Well, because it's boring to always use A and B, or 1 and 2.