I get pretty peeved at questioners who say "it doesn't work" in their questions, without elaboration. Someone has to comment "It didn't work how? How do you know? What error message was given? What did you expect to happen, and what happened instead?" And everyone waits until the asker notices the comment and writes back. By the time that happens, the question has moved quite a bit further from the center of everybody's radar. It will likely be forgotten if the OP doesn't use @ properly to address the person who asked for clarification. And then only that commenter gets reminded about it.
Then someone, maybe the same commenter, provides a solution to the question. And the OP writes back "I tried that and it didn't work." And the cycle starts again.
It's bad for the asker and it's annoying for the answerers.
I think it would be helpful for new users, if SO could auto-detect the phrase "doesn't work" (and variants: don't work, didn't work, did not work etc.) and ask them: "You said something 'didn't work.' Did you tell us what happened, specifically?" with a link to that article about how to ask good questions for further detail.
It seems like this could be implemented on the client side (JavaScript) without taking much time or memory.
Granted, there's only so much you can do to alleviate the problem of people not giving enough info to enable others to answer their questions. We certainly can't solve it completely through automation. But it seems to me that the above would help train new users and would make a worthwhile difference. What do you think?
Update:
Proposed "smell" regexp: d(id|o(es)?)\s*n['o]t\s+work
.
Proposed alert text: I smell the phrase 'It didn't work'. Did you tell us specifically what happened? [Yes] [No] [What do you mean?]
And the last button can link to Jon Skeet's Writing the perfect question (wish I could link to the Problem Statement section) or some other suitable explanation.
The user can click [Yes], [No] (or anywhere else?) to dismiss the box. It doesn't prevent the question or comment from being posted: it's just a reminder.
And no, I don't mean a JavaScript alert()
but something like the boxes we get now, for trying to vote more than once in 5 seconds, for example.
Update:
I just read another question where the asker said "it's not working" and forgot to specify what was actually happening. I know he would have been happy to specify it, because in fact he did so in a later comment. It's just a matter of being reminded.
On the down side, my earlier regex would not have caught the "it's not working" form of the phrase. Maybe the regex should be simplified to
n['o]t\s+work
This would catch "it isn't working", "it's not working", "they're not working", etc., while still matching "it doesn't work" and so on. Yes, it would probably gather some more false positives, but if the reminder is not too obtrusive, I think people who get the reminder when it's not applicable will understand why it appeared and will not be too perturbed about it.
It seems to me that this would be preferable to explicitly trying to match "[i']s not working", "[a']re not working", "isn't working", "aren't working", etc. But the latter is a valid approach.
Update:
Collecting a good idea from way down in the comments:
The warning could also just be dropped at a certain reputation level where it is considerably safe to assume that people will not forget to add this information.
On a related topic: Now that the question has 31 upvotes, and two answers that are varying degrees of negative, what comes next? Does someone decide "yes we will" or "no we won't" implement this? Or is that already decided by the less-than-enthusiastic answers?
Examples
I might collect here examples of questions in which the author used some form of "doesn't work" and didn't specify what that meant. They idea is that they would have benefited from a prompt, asking them (without enforcement) to make sure they specified adequately what actually happened, or what expected behavior failed to happen. (If you follow these links, keep in mind the question may have been edited, so you might have to look at history to see how these are good examples of the problem and the solution.)
- Reformatting a data set using XSLT
- replace function doesn't work with '$' symbol
- namespaces not giving expected results
- https://stackoverflow.com/questions/17176491/append-to-url-in-pagination-in-sp2013
- xpath for locating li with text does not work
- xpath to find a first child node with particular attribute, for any number of child nodes
- Changing namespaces with XSL
- xsl: how to use parameter inside "match"?
- How to check an attribute is empty everywhere or not in XSLT?
- Sort using count and sum with variables XSLT
- I have a problems with XSLT code
- Correctly draw a rectangle on a JFrame
- How to read Unicode input and compare Unicode strings in Python?
- Using Variable in XPath expression with input elements having prefixes
- select children of the first element of a certain class using XPath
- R xpath getnodeset "matches" command
- register receiver in a service
- xPath query doesn't work on this website
- Making a socket connection wait for response after sending command
- TrackballControls in three.js
donot work
,do n'twork
. Dammit. Those are reasonably likely typos. Your regex is bulletproof!\s+
requires at least one space... but maybe\s*
would be better. My first draft of the regex was more exact. I decided a looser one was better, and still wouldn't collect too many false positives.