13

Some questions contain curious hoops or preemptively reject valid answers/solutions and don't explain the reasoning behind the rejection. Should these be downvoted?

Examples are:

  • I don't want to use [some functionality of the language or API I'm using].
  • I want to do this in only one loop. (But doesn't count built-in iterating functions as loops.)

...anything in this style, as long as no explanation is included in the question. Raymond Chen describes it well enough in a blog entry. I'm not talking about people who simply state the external requirements of their code and go on from there. I'm talking about people who avoid solutions that would actually solve the problem while meeting their requirements.

The reasoning is this: Preemptively rejecting solutions or presenting hoops without providing reasoning implies that there are some requirements for the project but, for some reason, they are not included in the question. This, in turn, means that every possible answer that can be provided may also be deemed invalid a posteriori by the asker due to some criteria that aren't known initially (or at all). In other words, it doesn't make clear which kinds of answers are "fair game" and which aren't (though it implies that there is a distinction). And that lowers the quality of the question, in my opinion.

Clarification: This is not about agreeing or disagreeing with an asker's opinion or reasoning for rejecting something. This is about the actual quality of a question.

5
  • 3
    No. Why downvote? As revenge for not thinking same way like you? If they give details, show efforts and post good question there's really no need to downvote just because they're not willing to use what's considered best practice. Commented May 27, 2013 at 13:33
  • @ShaWizDowArd Care to make this an answer?
    – T. C.
    Commented May 27, 2013 at 13:35
  • Better elaborate if posted as answer, hope to do that shortly. Commented May 27, 2013 at 13:39
  • @ShaWizDowArd Thanks. See my edit as well.
    – T. C.
    Commented May 27, 2013 at 13:46
  • 2
    A possible example of this might be the now deleted question "how to make "tableless" table with help of css?" (-22) Answer: "If you're creating a table of data, why not just use a table?" (+25) though of course maybe the down votes were for some other reason. Commented May 27, 2013 at 14:15

6 Answers 6

4

Your title to your question is misleading:

Should we downvote questions that reject possible answers with no reasoning provided?

This also shows that people don't always read a question fully (myself included).

I believe that when a person if rejecting out of hand potential answers, without any clarification as to why they won't use a particular method; there are several approaches, that could all be regarded as valid.

I, personally would make a comment, asking for clarification. This would prevent many a miscommunication from ruining a, potentially, decent question and answer submission.

A downvote would only be constructive, if a comment is made, suggesting an edit.

Or, if the question falls outside of the Stack Overflow requirements (in this instance):

not constructive As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

Flag it. This type of question can encourage inefficient coding practices, if an OP rejects, more obvious or effective solutions, out of hand and with no reasonable explanation.

8
  • 2
    This is not a matter of there being unanswered questions at all. It's a completely separate issue here. It's also not a matter of forcing anyone to accept "my" answer (as, like I described in another comment, I don't bother with these kinds of questions at all) or even "an" answer. As I've described in the original post and in comments, I find unexplained hoops a genuine problem with the question's quality.
    – T. C.
    Commented May 27, 2013 at 15:01
  • I gotcha, edited it
    – user310756
    Commented May 27, 2013 at 15:22
  • 1
    Just approved it, thanks for the better title! Maybe it'll help clear the confusion about what I was asking.
    – T. C.
    Commented May 27, 2013 at 15:25
  • 1
    no worries! I think some others have misconstrued also.. we must be getting lazy in here, in SO you have to pay attention to coding questions... :) oh and it took me a while to word it effectively! lol
    – user310756
    Commented May 27, 2013 at 15:27
  • 2
    I'll accept this answer because it is the one that most closely addresses the actual subject of my question. (Of course, accepting on discussion doesn't mean that this is the consensus - if there is one.) It's worth noting that the consensus here seems to be to not downvote, but maybe leave a comment instead.
    – T. C.
    Commented May 27, 2013 at 16:01
  • OH Wow ty! :) I love being useful xxxxx (are we allowed to give kisses here? lol
    – user310756
    Commented May 27, 2013 at 16:02
  • 1
    How is this for irony - accepting my answer got me this Congrats, you've gained the privilege – vote down hahahahaha
    – user310756
    Commented May 27, 2013 at 16:04
  • 2
    That's very ...meta.
    – T. C.
    Commented May 27, 2013 at 16:04
10

I would upvote them rather than downvote them.

Compare

I need the code to sort a vector of strings in C++

Then when someone provides the answer sort(begin(v),end(v)); the OP comments "I can't use std::vector I'm actually using a C-style array." So someone posts another solution and then the OP says "nope, can't use that either" and on it goes until all the answerers get fed up and go away.

In contrast

I need the code to sort a vector of strings in C++. Please don't tell me to use std::sort, std::vector, or std::string. This needs to be C-style char* strings and C-style arrays.

I may shake my head at the person's thought process, but at least I know my constraints if I choose to answer. I don't feel the OP has the slightest obligation to tell me why these contraints are in place. I'm just grateful they were revealed in advance.

It's possible too much time in the C++ tag has hurt me, though.

10
  • Actually, the second quotation is sort of enough explanation for the constraints. I'm talking about questions that (for instance) say "I don't want to use std::sort" but don't mention that the reason is because they want C-style char* arrays, so they just reject every std::string answer one-by-one, as you described in the first example. And then the answerers have to infer the actual requirements.
    – T. C.
    Commented May 27, 2013 at 14:04
  • 1
    you're slicing awfully fine there. Commented May 27, 2013 at 14:06
  • Take this specific example - simply stating the requirement of C-style char* strings may imply an interop scenario (just an example - I may be dead wrong here, being unfamiliar with C++ and its library) and that's enough information for the answerers to know beforehand what's fair game and what's not. On the other hand, simply rejecting std::sort doesn't tell you anything about the real requirement. I don't think it's that fine a line.
    – T. C.
    Commented May 27, 2013 at 14:28
  • 4
    When I'm a paid consultant, I sniff out the "real requirement" and answer it. On SO that is not the way to go. No one thanks you, they just get ticked off. They want to sort without using sort, they want strings without string, fine, if I know a way I'll tell them. I don't care there might be interop, there might be life on Mars, that's not the question. Answer the question as asked or leave it. For everyone who says "thanks for digging, the suggestion you've provided is perfect for my underlying problem" there are 100 who say "just tell me how to do it! I never asked you for your opinion!" Commented May 27, 2013 at 15:06
  • 2
    Also, later searchers may have the same constraints for different reasons. They want the solution to what they searched for, not the solution to the "real requirement" that happened to inspire the first asker. Commented May 27, 2013 at 15:07
  • Thanks, that last point is a valid one that I hadn't considered.
    – T. C.
    Commented May 27, 2013 at 16:09
  • 1
    Kate, I really like your point about more details in the question avoiding the frustrating "no! that don't work!" exclamations later on after answering, but I disagree with not needing to know the reasons. If we know the reasons why a person doesn't want to use X, we understand their problem better. When we have a solid understanding of the problem it empowers us to provide well-thought out answers and possibly even learn something ourselves along the way. I don't advocate downvoting a question in this format, as it's better than the alternative, but we should still seek more clarity. :)
    – jmort253
    Commented May 27, 2013 at 16:40
  • 2
    What I mean by well-thought out answers is answers that solve the real problem the asker has. If we know why the person can't use X, we may have a solution that's even better. What's more, future visitors with the same problem are more likely to find the post valuable, since the real reason for not using X is exposed.
    – jmort253
    Commented May 27, 2013 at 16:41
  • @jmort253 I think it's site and tag specific. On Travel or Gardening, commenting to ask why will probably lead somewhere fruitful. On SO, especially in the rich-in-new-to-SO tags, not so much. Still, we both agree downvoting just because they don't say why is not the right approach. Commented May 27, 2013 at 16:54
  • Absolutely! You make great points on why having constraints is much better than none at all, but we shouldn't be afraid to seek clarification if it could help us provide better answers. Also, great points on not using that information to get into a debate with the asker. We should still of course answer the question. +1
    – jmort253
    Commented May 27, 2013 at 19:46
6

I don't think a downvote is appropriate here (at least if that's the only problem).

But I do agree that such posts are problematic. They are often a hint at a XY Problem. But a downvote will probably not solve this.

4
  • I agree that a downvote doesn't solve the problems of the question (but, on the other hand, you could argue that downvotes don't solve the problems of any question). Unfortunately, it's one of those things that you can't fix by editing the question, precisely because the asker is withholding information. I take it that your answer is "tell them in a comment, but don't downvote"?
    – T. C.
    Commented May 27, 2013 at 14:00
  • 1
    you are focused on the withholding of information (the reason why they reject a certain API or language construct) and ignoring the revealing of information (the fact that they do reject it). The information revealed is vital to answer correctly. The information withheld would satisfy only your curiosity or your ability to argue with the OP about those reasons; neither is a vital reason to include it. Commented May 27, 2013 at 14:03
  • 1
    @TheodorosChatzigiannakis: yes, that would be my solution: tell them that the information about the why is important and leave the answering of the question (as it stands) to others, who don't have a problem with this. Commented May 27, 2013 at 14:14
  • @KateGregory As I said in the question, it's not about curiosity or arguing. I don't come to SO to argue about technologies or techniques. The presence of a constraint with a "higher-level" elaboration would give the answerers a much clearer picture on how to go about this, while no elaboration often (not always, depends on the occasion) creates a trial-and-error situation.
    – T. C.
    Commented May 27, 2013 at 14:20
3

Often it seems that isolating an issue may remove relevant information as to why the OP has certain restraints or why they are going about something in an unusual way.

Sometimes, as mentioned before it may be an XY problem, but I think in many cases its just trying to cut things down for brevity.

In some cases the OP may be going about something in an unusual way, because their boss or customer arbitrarily wants it that way. In this case the OP may have no idea why they can't use the standard or preferred method, apart from having to meet an awful design specification.

Would you rather see a question like this:

I am trying to to do X, but I can't use methods A, B, or C. I've been working on method D, but ran into this problem...

Or like this:

I am trying to to do X, but I can't use:

  • Method A, because it breaks Y
  • Method B, because it breaks Z
  • Method C, because my boss is an idiot, who prefers method D

Ive been working on method D and ran into this problem...

Providing context is usually helpful in any question, but it isn't always necessary. If you need clarification to answer the question ask for it, but don't down-vote just because the OP was trying to keep things short and to the point.

2
  • 1
    Thank you for answering on-topic. As it seems, the general agreement here is that we should not downvote in the scenario I've described.
    – T. C.
    Commented May 27, 2013 at 16:04
  • I agree, don't downvote these, but it's still okay to ask for clarification as it may lead to better answers. If the asker refuses to give an answer or can't give one, so be it, at least you tried. It's still a better question with the constraints than without, even if there's no reason given.
    – jmort253
    Commented May 27, 2013 at 16:45
1

Should we downvote questions that reject possible answers with no reasoning provided?

I don't think so. Why downvote? As revenge for not thinking same way like you?

If they give details, show efforts and post good question there's really no need to downvote just because they're not willing to use what's considered best practice.

While this narrows down the variety of possible answers, it's totally legit. You can politely mention in a comment what is the better way of action or best practice and ask the OP to reconsider, but not more than that.

-3

Just downvote what you think are bad questions and bad answers, period. Why downvote just because they disagree with you, or refuse to tell you why they disagree with you? I think wanting to downvote them just because they don't accept your answer(even though you know it's right), seems like an act of retaliation...

3
  • 1
    I think that you haven't read my question correctly, if you're accusing me of retaliation or of downvoting due to disagreement. Point one: I don't respond to such questions, so it's not a personal issue at all, just something that made me think. Point two: I'm talking about questions that include the rejection in the question without any explanation, regardless of whether I was going to suggest that or not.
    – T. C.
    Commented May 27, 2013 at 13:48
  • Can you show me a good example?
    – Xarcell
    Commented May 27, 2013 at 13:51
  • Look at apaul's answer: meta.stackexchange.com/a/181957/155826 as there's a good example there.
    – jmort253
    Commented May 27, 2013 at 16:47

You must log in to answer this question.

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