Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Meta

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.

Post History

37%
+4 −8
Meta 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 ...

4 answers  ·  posted 8mo ago by matthewsnyder‭  ·  last activity 6mo ago by John C‭

#1: Initial revision by user avatar matthewsnyder‭ · 2024-03-13T20:16:06Z (8 months ago)
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](https://en.wikipedia.org/wiki/XY_problem))

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.