IMHO a one line answer that is not backed up by references and doesn't show significant research efforts doesn't fit to P.SE. An example (no offense to Thorbjørn who is actually one of the best contributors): How would you know if you've written readable and easily maintainable code?. Peer code reviews is indeed one of the best ways but this answer doesn't explain why, doesn't give any references, etc. It seems like the contributor didn't have the time to work on the answer. In that case I think that a comment would be more appropriate. Am I right or I'm missing something here?
7 Answers
I think that you are partially correct.
A one line answer without any demonstration of experiences or citations of references isn't an example of a great answer. I wouldn't go so far as to say it doesn't fit the site, but it would be something to look at. A short answer that doesn't share experiences or references could be a bad answer, or it could be indicative of a bad question that doesn't elicit the need to share experiences or references.
However, no answer should be posted as a comment, even if it is short enough. Comments are for asking clarification or providing additional information, not providing answers.
This MSO discussion sums it up well:
Of course, obviously the better answers will generally be longer than one line. To bulk up the content, you might consider doing things like:
- linking to the appropriate documentation
- including a code sample
- suggesting a superior alternative approach
- cautioning against some things that people in the same situation commonly do wrong
- adding superfluous bulleted lists
There are many good answers that can be written in one sentence. However, the best answers explain the reasoning behind that one line. They explain the thought process that is required to arrive at the correct decision. They may include a personal experience that supports the conclusion reached. I've seen some good answers that take the approach the OP originally thought of and show how it leads to failure, and then present a better solution.
The best defense against harmful one-liners, as with many things on SE, is your voting powers. Don't be afraid to downvote the one-liners!
Judge an answer by it's quality and correctness, not it's length.
Downvote it if the quality is below an acceptable standard, or the answer is incorrect, but don't discriminate against answers just because of their length.
Also don't forget, you can always leave a comment requesting the user expand their one-line answer into a more detailed response that covers the hows and the whys of the situation. I find many users are quite willing to do this if asked, and it will probably lead to them writing better quality answers in the future.
-
2I mentioned "a one line answer that is not backed up by references and doesn't show significant research". So it's not just the length. Also, it is unlikely that you can fit in one line references, personal experiences, etc.– sakiskCommented Apr 17, 2012 at 20:42
-
1@faif My answer would be the same for one-liners that don't contain references or show significant research. Judge the answer by it's quality and correctness, not by unrelated properties such as length, research shown, or references given. Sure these attributes might indicate a lower-quality answer, but not all the time.– RachelCommented Apr 18, 2012 at 13:28
Note: I only found this discussion accidentally.
I find it interesting that you consider my answer to be an example of "...a one line answer that is not backed up by references and doesn't show significant research efforts..", and I believe this is not so.
Perhaps the misunderstanding is that you would like explicit mentioning of all the references and all the research effort in the answer.
In this particular case it is simply not necessary. The laconic style is intentional since lots of wording will just muddle the point being made, namely that you as the author of the code cannot tell, and the computer being a victim of the halting problem cannot either. You MUST ask another human (or yourself when you have forgotten sufficiently of what you knew when you wrote it). I believe the number of upvotes reflect that other programmers have enough experience to recognize this too.
So, in this case a one-liner is the most precise way of mentoring the asker.
-
1upvotes aren't a reliable indication for answer quality don't you think? For your case, it seems to be more compelling to point out that answer gained only 2 downvotes - with 2K+ views at generally downvote-happy site like ours this sends pretty strong signal that vast majority of readers were able to infer needed context without explicit pointers– gnatCommented Apr 18, 2012 at 12:59
-
@thorborn I'm not saying that your answer is bad (I up-voted it too). I just don't consider it complete. I think that both sides can do better; You as the contributor can provide more information, and people who like the answer but don't consider it complete should ask for extensions (which is what I'm planning to do from now on).– sakiskCommented Apr 18, 2012 at 17:22
-
@gnat The question is: Should we expect from the readers to infer the needed context?– sakiskCommented Apr 18, 2012 at 17:27
-
-
@gnat you may have a point about the downvotes being a more reliable indicator than the number of upvotes.– user1249Commented Apr 18, 2012 at 23:08
-
@faif a complete answer to this particular question would most likely be very, very long.– user1249Commented Apr 18, 2012 at 23:11
-
this is not surprising - yet another point that "expanding high quality one-liner could do more harm than good"– gnatCommented Apr 29, 2012 at 14:38
Your example looks like an awesome answer to me.
- How would you know if you've written readable and easily maintainable code?
- Your peer tells you after reviewing the code.
Not only does it answer the question, it also introduces important notions of peers, code review and feedback, ties them together and presents in a way that is easy to understand and use.
Answer style is not quite typical, in the sense that most other good answers I've seen at Programmers tend to be more verbose. But since stylistic consistency is not the only criteria I use, this doesn't worry me.
For the sake of completeness need to note that this particular one-liner is pretty exceptional; vast majority of other one-liners I deal with at P.SE are not like that - easy targets for downvote, flag or "expanding edit".
The question is: Should we expect from the readers to infer the needed context?
Good question. My take is
- in more typical cases it's better to just err on safe side and provide context explicitly
Mainly because expanding average one-liner does no harm. - in this particular case - yes, it looks reasonable to expect that from a reader
Because expanding high quality one-liner could do more harm than good.
To avoid misunderstanding, I would like to make it perfectly clear that I support general guidelines you referred to. I believe that one-liners are typically not a good fit for Programmers. I also think that providing explicit answer context is as a rule beneficial for the answer quality.
The fact that I may occasionally encounter particular exceptional case (like it was with your example answer) won't stop me from following these guidelines.
I'd argue that an one-line-answer with many upvotes is an indication of a bad question. An answer that doesn't need citations, explanations or references to be deemed correct is most likely either an obvious answer ("yes, a compiler compiles") or a highly subjective/religious answer ("Linux is better"). Good questions do not provoke such answers, at least not with that many upvotes.