Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Comments on Don't close questions for lack of detail/confusion
Parent
Don't close questions for lack of detail/confusion
tl;dr: When a question is unclear, don't close right away, especially if it's possible to discern what they are trying to ask. Instead, use comments and edit suggestions to work with the asker and help them improve the question. Only close if it is absolutely hopeless (if the asker disappears for weeks and/or refuses to take feedback).
It is inevitable that people will ask bad questions on a Q&A site. Questions can be bad in many ways, for this post I am focusing on those that are closed because:
- There is not enough detail
- There is too much detail and it's hard to tell which ones are pertinent
- There are several tangential questions and it's not obvious which one the asker actually wants to know
- The asker is confused and asking something else when obviously they want to know another thing (eg. asker assumes the answer will fit a certain pattern, but that turns out to be false)
These are often closed for being "too generic", "unclear", "too broad", "off topic" or whatever other euphemism is popular at the time for "stupid question, go away".
The root cause in many cases is that the asker is a newbie and does not even understand the subject matter enough to ground it in appropriate context, or lacks the foundational skills required to properly analyze their problem and identify the specific point they need help with. When they ask about thing X, they don't just need help with thing X. They also need help understanding what they even should ask about. IMO it is unfair, unreasonable, unrealistic, unproductive and unduly elitist to refuse to provide help with the latter.
Another thing I observed is that when I was a mediocre programmer, I began to notice many people ask "bad" questions that were hard to answer because they are unclear. After I became a good programmer, I noticed that many bad questions I previously thought were unanswerable became easily answerable, because thanks to my greater skill and knowledge I was able to easily discern what the person meant to ask. This echoed the experience I had as a novice programmer, when the better mentors and teachers seemed to have an uncanny ability to figure out what I'm trying to ask before I could figure out how to phrase it myself, and this sort of Q&A was a great help in my own learning. Naturally, I strongly prefer participating in an environment where experts are considered to have a duty to not just answer questions, but also help newbies ask the questions.
I've heard the retort of just using the process, editing, commenting, then flagging to reopen - I've tried this many times on Stack as well. It doesn't work because it introduces too much overhead. As an expert, I often want to use CD in short bursts. Maybe I'm on a coffee break and want to quickly answer a question or two. An expert can answer many newbie questions quickly in this way. But if I have to submit an edit, flag, wait for the mod to see it, follow up to make sure it got reopened... That is a whole chore that drags on, and it's much more boring than a quick post while I drink my coffee. Its natural consequence is to defuse excitement from people who want to help, and to discourage experts from answering newbie questions.
This is not me saying my time is too valuable for flags and so the process should change for me. I am obviously here investing my time into this post because I care about the site. But the reality is that if you want experts to help newbies, the friction must be minimal, because experts are usually too busy to invest much time in helping an individual newbie. This doesn't scale. If you're going to be an expert helping newbies you must do it in a way that maximizes # people helped per unit work/time. Otherwise the logical thing is to let other newbies and diletants to deal with newbie questions, a situation also described as "the blind leading the blind". But the dabblers can generally only help with a well-posed question, they cannot look past a badly phrased or confused question to figure out the real intent. And as I pointed out elsewhere in this post, newbies will tend to ask bad questions, because usually when you are a newbie to a domain you are also a newbie to asking questions in that domain.
Also, when you close a question for being unclear, you are creating more work for yourself. I often hear mods on QA sites complain that moderating is endless and thankless toil. So why create more of it? When you close the question, it is now likely that the question will be edited and flagged for reopen, so you have now generated 2+ mod chores. Instead, you could leave a comment, and in the best case the question will be improved and require 0 mod chores, while in the worst case the asker will fail to improve it and eventually the question can be closed, requiring 1 chore. Of course, this is assuming reopening is even a genuine process - my own experience on other sites has been that unfortunately mod teams like to dig their heels in, and even after a question is improved refuse to go back on the earlier decision.
When a question appears to be unclear, the mods should give sufficient opportunity for other users to answer it anyway. AFAIK we do not require our mods to be virtuosos of their field. It is very possible that the mods knowledge is lacking or they simply failed to understand the question themselves. A mod not understanding a question is not a litmus test for the question being unanswerable - many experts answer questions on QA sites without seeking mod status, so it could well be that the question is unclear to the mod, but not to other users. If an expert is able to answer an unclear question, the solution should be to allow them to post an answer, and then edit the question to read better for other users. This creates knowledge, helps people and promotes a healthy community. If we close the question and thereby block experts from answering, this alienates new users, annoys experts and stymies the community.
Example:
- https://software.codidact.com/posts/291046 - the question is a very reasonable one and part of a basic Python skillset. The asker is confused, and misphrased it. However, if you know the answer, it's not hard to deduce what they're trying to ask. I submitted an edit suggestion to this effect if anyone is curious. I would like to also post an answer, and I think that it will be a good and useful answer to people trying to learn this aspect of Python, but now I cannot because the question was closed, and who knows when (if?) it will be reopened.
Post
No.
Terms like "too generic", "unclear", "too broad", "off topic" are absolutely not euphemisms for "stupid question, go away". They mean what they say; and when they are used Somewhere Else, multiple of them exist simultaneously for a reason. They are explicitly not designed to be used to judge that a question is "lazy", that the person asking doesn't "deserve" an answer or anything else like that.
First off, we are judging questions, not the people asking them. But even then, some kinds of issues with a question can be fixed, and others can't. Closure is about signaling that there is an issue, so as to insist on fixing the issue if it's fixable. Finally, don't make up a close reason if the question is clear, well scoped, properly backed up by a specification or reproducible example as appropriate, etc. If you simply dislike the question - that is, if you feel that answering the question is not important (but please keep in mind that most people are beginners or near-beginners, in every discipline), that's what downvotes are for.
If we choose to make it our problem that beginners don't know what to ask (and I agree that they very often do not), here are the workable strategies I can think of:
-
Have experts self-answer the necessary questions, using their expertise to determine what to ask. (One may think that answering would be trivial at this point, but even simple questions can be surprisingly nuanced when one tries to account for the fact that the reader doesn't already know the answer.)
-
Use a separate section for the "plz point out the bug", "what are the steps to solve this", "what does this part of the assignment mean" etc. questions.
-
Some kind of explicit staging or drafting system for questions (i.e. something that the Codidact Foundation is explicitly tasked to develop, with more technical support than just a separate category).
The objection you've raised fundamentally misunderstands the purpose of closing questions on a Q&A site. It is injunctive, not punitive; it is fundamentally temporary; and it is a judgement of current suitability, not potential value.
The consequence of closing a question is that it cannot be answered until reopened. Closing and reopening are both explicitly, deliberately designed features of the system; we may conclude that the purpose of closing questions is to prevent answers from being posted. Once problems are fixed, such that providing answers would be aligned with the goals of a Q&A site, the question can be reopened, and answers can be posted.
Why should this be necessary? Because well-meaning people on a "question and answer" site, who see a question and believe themselves able to say something useful in response, will be tempted to write an answer. Such answers, however, are inherently not useful to the general public. The value that the Q&A format has, which an ordinary discussion forum does not have, is that over time it accumulates a searchable reference library. As such, questions need to provide something to search for - by clearly introducing a properly-scoped problem that answers can address.
Otherwise, it wouldn't be necessary to describe problems caused by typos as "off topic", but we do. It would scarcely be necessary to close anything that's on topic, in fact. However, if we can agree that some programming questions merit deletion, then we must surely also agree that at least as many merit closure - since deletion also entails prevention of answers.
While I accept that this standard won't always be reached in practice: the gold standard for a question is that, as a curator, you should feel like you could close someone else's question as a duplicate of this one some day, and not feel like you've done the OP a disservice simply by trying to keep the answers to the same question in one place. (After all, that's another aspect of how to provide "searchable reference library" value: once you've found "the question", you shouldn't have to keep chasing links.)
0 comment threads