26

Questions of the following form are often closed as too broad:

  1. "Review My Design"
  2. "What is the Best Practice?"
  3. "Will my approach work? Is it viable?"
  4. "Is this the correct / preferred / accepted / most popular / better way?"
  5. "What could go wrong?"
  6. "Tell me the name of this thing so that I can Google it."

How can I avoid the problems associated with these kinds of questions so that my post isn't closed as Too Broad?

Related
If there are two ways of approaching a task, how should one choose between them?

1

2 Answers 2

29

Ask us about your specific problem.

Focus your questions on a specific, design-related problem you are having. Instead of asking "Is this SOLID," show us part of your project, tell us why you think it's not SOLID, and ask us how you can make it more SOLID.

State your criteria.

Questions asking if something is a "best practice," without also clarifying your specific objectives, are not answerable. We don't know what "best practice" is for your project unless you tell us specifically what you want to achieve. Restating the question as "most correct" or "most widely-accepted" doesn't work either. Tell us what you want your project to accomplish, so that we can determine what is "most correct" for your project.

Be specific.

Your questions must be specific. "Review my design" isn't answerable here. A good answer to such a question is going to be too long to fit in the answer space. Ask a more specific question like "How do I properly communicate between aggregate roots?"

Focus on requirements.

We don't know what "correct" means for your project, unless you tell us what your project is supposed to do. Global variables are generally frowned upon, but in some projects (like games), they are unavoidable. Ask about your specific requirements, and how you can best achieve those.

Veracity, not vocabulary.

Word definitions are useless if you don't understand the underlying concepts. Instead of asking for a word or a concept, tell us what you want to achieve, and ask us how you can achieve it.

1
  • "Tell us what you want your project to accomplish, so that we can determine what is "most correct" for your project." Would this be sufficient to state the criterion? Jul 10 at 21:31
8

Lest people see this post and think the expressed opinions are a universal consensus of this site's users, I wanted to provide a dissenting opinion.

Software engineering is a challenging field, and people have questions at all levels of abstraction of the design process. A good answer writer adjusts to the level of confusion of the person asking the question, instead of expecting the question to adjust to the kind of answers that are easier or more fun to write. Good answers can and are made to the above-mentioned types of questions, in the short space before other people vote them as "too broad to possibly answer."

This site is supposed to be much more about general principles rather than specific applications like StackOverflow. We don't go around telling college students, "Well, I could teach you about when to choose insertion sort, but I don't know what your project would use it for." It's okay to be a little abstract here. Programmers are allegedly good at abstraction.

While I object to the leading and stereotyped wording of the example questions, I think they are in general a reasonable fit for a site that purports to be about "software development methods, practices, requirements, architecture, and design."

  1. "Review My Design". Design is right in the site tour. It's one of the main purposes of the site. People don't always know they best criteria by which to evaluate a design. If they did, most of the time they wouldn't need to ask the question. If they don't provide criteria, answer writers should list their own criteria, and state under which circumstances they would or would not be applicable. Most software design principles are not hugely situation specific. If you think you need context to answer, just say why the context matters.
  2. "What is the Best Practice?" Again, practices are right in our tour. A practice is not usually best under all circumstances, but it is not that hard to state the limitations. We don't need one-word definitive answers. If the answer is "it depends," tell me what it depends on.
  3. "Will my approach work? Is it viable?" Again fits under design. If you can't tell if it is viable from the question, state what information you would need to gather. State some alternatives that might be better. The question isn't asking for a contractual sign-off. It's asking for a second opinion about if anything major was missed.
  4. "Is this the correct/preferred/canonical/idiomatic/accepted/most popular way?" Sort of the same as the best practice question. Software is written for other humans to read. Part of that is writing it in the way other humans would most likely expect. The best way to find out what other humans expect our code to look like is to ask them.
  5. "Tell me all of the things that can possibly go wrong." Software is full of non-obvious gotchas, things that look correct but aren't. Asking someone with experience in that area to help avoid the worst problems is one of the most important reasons for asking questions. It's the main thing I wish my coworkers would do more frequently. I'll take someone any day who is paranoid about pitfalls over someone who constantly overlooks problems like concurrency or scale.
  6. "Tell me the name of this thing so that I can Google it." Every one of us had to learn the name of something at some point. Don't be a gatekeeper to knowledge. Be a facilitator.

Don't get me wrong, I have no illusions of actually changing the minds of those who control what questions get closed around here. I'm fully aware of your objections, so you needn't leave them in the comments. This answer was not written for you.

If your question was closed and linked here, know that at least one high-rep user has your back and is trying to change things.

17
  • 3
    The reasons that we ask for criteria are explained eloquently here. In fact, all of your objections are addressed there. Aug 14, 2019 at 17:18
  • 3
    Your student example is a straw man. We don't provide extended tutoring. Aug 14, 2019 at 17:23
  • 5
    Karl, though I don't fully agree to your arguments, you have my sympathy. I actually see a lot of questions of the forms listed by Robert which I think are way-to-vague and unspecific, or way-too-broad to be answered here on this site in a sensible manner. However, a significant part of these questions could IMHO be saved if more people here would work together and edit them into shape, or give the authors more help to do this on their own. What I really dislike here is this what I call "cowboy-moderation" style...
    – Doc Brown
    Aug 15, 2019 at 8:50
  • 2
    ... shoot at everything which "moves" with the precanned "too-broad" close reason, and giving those authors no or only lousy feedback. And Robert, I think you have been questioned about this kind of moderation style about a dozen times here on meta, and usually let other mods explain why you might have closed and deleted the question. That is IMHO not the way moderation should happen, as it is described in SOs guidelines on moderation.
    – Doc Brown
    Aug 15, 2019 at 8:51
  • 6
    I agree with this answer to the extent that such questions can theoretically be the basis for useful Q&A, but find it disturbing that the effort of extracting some answerable aspect is placed on the answerers – I reject such quora-fication. As @Doc suggests it would be great if questions can be edited into shape before they're removed outright, but I have lost any interest in doing that myself. As I see it, if someone wants to support vague questions they should put in the effort of clarifying, editing, and reopening them. Core issue isn't the questions, it's the too small core community.
    – amon
    Aug 15, 2019 at 14:17
  • 2
    @DocBrown: The questions I vote to close are the same kinds of questions that I voted to close before I became a mod. The only difference is that I have a binding vote now. My thought process is already described in detail in the answer I've posted here. Aug 15, 2019 at 15:09
  • @RobertHarvey: and so you can close that kind of mediocre questions I described in my former meta post even more quicker, which decreases the chance they get improved and reopened by an order of magnitude. But that's not my point, I think in 90% of the cases where you close a question quickly I would do it the same, just like you. It is about the remaining 10% which become collateral damage,
    – Doc Brown
    Aug 15, 2019 at 15:22
  • @DocBrown: If you think you can articulate the difference in those 10% that you think should remain open, put it in a meta question. Aug 15, 2019 at 15:26
  • @RobertHarvey: I think that's not that simple. Such questions may need a triage, and often some specific and constructive feedback to the author, not some reference to this precanned meta post like yours here, some precanned "close reason description", or some precanned gnat-style comment. Did you not write "be specific" above? That is also a good recommendation to everyone who applies mod actions (not exclusively moderators).
    – Doc Brown
    Aug 15, 2019 at 15:41
  • 3
    @DocBrown: "Be specific" is the OP's responsibility. My experience is that question askers will not do what you ask unless you give them motivation for doing so, in the form of closing their question. Especially if their question's premise is fundamentally flawed. Aug 15, 2019 at 15:46
  • 2
    @DocBrown I agree with Robert that askers need incentive to improve their question. Closing quickly is appropriate to preserve the site's limited resources. Once one of those 10% questions are salvaged, they can be quickly reopened. All of the mods are comfortable reopening a deserving question even if another mod closed it previously. The crux of the issue is what amon pointed out - there aren't enough core users who are able to invest the time in fixing those questions.
    – user53019
    Aug 15, 2019 at 17:30
  • @GlenH7: I think we seen enough examples in the past where closing questions so quickly was actually demotivating the authors, so I think this is very debatable if that actually works. But where I agree is that the core community is very small, but exactly that fact makes it unlikely that a closed, but salavageable questions gets reopened again, at least not by the community through reopen votes.
    – Doc Brown
    Aug 15, 2019 at 18:31
  • 2
    @DocBrown You're always welcome to mod flag a salvaged question that you think is deserving of re-opening. While I won't guarantee that will re-open something, it will get seen by a mod. And if I see that a closed question has been edited, I try to make a point of re-examining the question. I also monitor the re-open review queue.
    – user53019
    Aug 15, 2019 at 23:27
  • 1
    @DocBrown The questions that I have seen Robert quickly delete have been off-topic questions that don't have a chance of being salvaged. Those questions are in the 90% that don't belong on the site.
    – user53019
    Aug 18, 2019 at 13:39
  • 1
    @RobertHarvey: looks like a peace-offering ;-) Don't get me wrong, I have no doubts that you have a very good sense for which questions fit to this site, and which don't. I also appreciate your efforts to keep the site clean from the obvious crap. But there are sometimes borderline cases where it is debatable if a mediocre question can be salvaged or not, and for those I would prefer a more democratic approach than a single person just closing and deleting them.
    – Doc Brown
    Aug 21, 2019 at 17:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .