Since the question, "How do I write a good question for MATLAB answers?" has been asked, I wondered if we could benefit from the corresponding question about giving answers.
Some of the things I have in mind:
I think each of us has our own approach to all these and more issues, but I'd still like to see what people have to say in one spot. So what other issues come up when you answer a question on Answers? How do you address them? Should we (the regulars) try to stick to a "standard" approach to these?
Thanks
No products are associated with this question.
Not sure if this is a good practice. I'm interested in hearing what you think...
If you have a minor addition (or edit) to someone else's answer, post a comment on the answer asking to improve the answer with your suggestions, instead of creating a new answer. This will hopefully reduce redundant answers and multiple answers with small incremental changes.
EDIT: Once the minor addition has been inserted in the answer, the commenter (who asked for the minor addition) should delete the (now meaningless) comment.
I know that you can edit by deleting, but it smells like a trick. It's obvious to the contributors to this page, but what about the people asking for homework help?
@Andrew: My message about pseudo-editing was not though for you only, but even for newbies.
I'm generally in favor of pointing out when a key edit (i.e. correction) has been made to an answer for the following reasons:
If it's just a matter of fixing typos, I don't think any indicator is needed.
If the edit makes the answer completely different, like adding a whole different possible solution, adding another answer may be in order since this gives people a chance to vote on the solutions independently.
Regarding the format for indicating an edit, " EDIT: " usually works well, or a lead-in explanation like " Based on the comments, this answer has been updated... " if you're feeling wordy.
It drives me batty when the question is edited without an indicator that something has changed. I start to doubt myself, wondering why I said things or wondering if I didn't read the question properly the first time. Marking that something has been edited is important enough that it should not be a matter of discretion at the user level: _anything_ that gets edited should have an automatic update time-stamp put on it (possibly with an exemption for the moderators, though I cannot think at the moment of when such an exemption would be justified.)
@Walter: I agree that the timestamp should update so that at least there is an indication that there was an edit. But that would still require readers to scan and compare update times of questions/answers and comments to see which came first. Someone mentioned having a version history, but there was a comment on it about it creating more noise. Something to think about...
I can think of one case where there could be exemption for moderators -- for pure format editing. Sometimes you see a question with lines of code with no formatting. Moderators can fix that, and not change any of the words. That shouldn't trigger a timestamp change.
In practice, a time-stamp for reformatting does help.
When I as a user see an unreadable posting, I am reluctant to go back to it until I know it has been made readable.
When I as an editor see an unreadable posting, I might not have time to edit right then; if Matt or someone else gets to it first, then the time-stamp update relieves the pressure on me to push other things out of the way to do the editing.
Use an external debugger and paste the copied text instead of struggeling with the keyboard latency of the web interface. Being stressed by this suboptimal interface decimates your power to concentrate on the answer.
I sometimes start an answer and then wander away -- back to work on my job, or researching a particular point, or going for supper, or simply giving my brain a rest, or giving myself a "time-out" so I can respond politely.
It would be a shame if everyone else was locked out for minutes or even overnight while I finished the answer (or decided to cancel.)
Also, the system would need to be robust against browser crashes or closing the browser or network problems.
@Walter: So the blocking should be "advisory" to avoid a deadlock - sorry, I've confused the terms. If I see, that *you* have started to answer, it is a good idea to wait, until you are able to respond politely or finished your coffee break.
Sometimes I fall asleep while composing responses. Literally at my desk sometimes, but more often if I have stretched out on the coach to see if I can come up with a new perspective.
Put a clarifying question in the "Comment on this Question" box instead of putting your question as an answer.
If you put sufficient detail in the clarifying question, explaining the difference in meanings, then the clarifying questions themselves can become a framework towards getting the right answer.
Keep it civil.
Feel free to add elaborations or questions/concerns on the topic of civility to the comments below!
I agree. I think some very good contributors to this site let their frustration show sometimes. If they're getting jaded, they should consider taking a break and let some new people add to their reputation score.
If it has been asked and answered before, link to it.
Instructions for linking to individual Answers and even Comments are shown here: http://www.mathworks.com/matlabcentral/answers/994-wish-list-for-matlab-answer-sections#answer_1459
Ask the writer of an obvious homework question (especially when no work is shown) to:
The edit trap! Better than what?! No need to answer - I can guess it. But editing has the power to make the comments totally confusing.
While "work done so far" hits the point, "cover a specific MATLAB question" is not specific to homework cheats (see: how to use STRTOK...).
If the question is vague, ask to clarify instead of assuming the question and answering based on your assumption.
That depends a lot on what we deem the purpose of the forum to be. If it is to be a set of answers to very narrow and specific questions, then your proposal might be appropriate. It would, however, tend to lead to people asking effectively the same question over and over again, as the narrowness of the questions and answers would be such that most people would not understand how to apply the narrow answer to their situation.
My personal approach, of listing the various possible interpretation and answering to each of them, certainly takes more of my time. On the other hand, as it gives a template for recognizing the different circumstances and shows the approach needed for each of them, my answers tend to be applicable and recognizable by a number of people.
A more broadly spread answer that states assumptions is, in my opinion, a better long-term resource. And it leads itself to being linked to as a solution more often.
Are questions to be interpreted as "How do *I* do _exactly_ what is in front of me?", or are they to be interpreted and answered more generally as "What are good approaches to deal with this kind of situation?"
Also, some questioners just don't seem capable of writing a clear question, or respond slowly, or don't respond at all.
Read the question all the way through before answering! (I need to remember this myself.)
An answer should illuminate not dazzle.
I think Derek has a point, especially if read as I say above with NOT ONLY in the statement. It is still subtle...
Derek's point echos a principle of good teaching: start with what the students know and then build on it.
It is unlikely there will _ever_ be enough of us to "illuminate" all the doit4me whose major project is due in two days.
At the risk of being obvious, test your answer! I find it useful to compose my answer, with comments, in the Matlab editor. Then I get rid of the % signs and paste into the Answers window.
Give your HTML links meaningful titles. For example, use How do I write a good answer for Matlab Answers? instead of http://www.mathworks.com/matlabcentral/answers/797-how-do-i-write-a-good-answer-for-matlab-answers. See Markup Help if you don't know how to do this.
Be brief
Doug, I'm getting too old to be brief. Maybe if you'd caught me at about Grade 3, but my verbose ways were pretty much set in stone by Grade 5.
Invent time machine. Catch Walter in Grade 3.... nah. I like Walter's answers.
Brevity should be balanced with adequate explanation. Many answers just provide code that will be cryptic to novices.
How about a Wikipedia-like version history?
A version history would contains outdated information, and therefore noise.
Should we trust the title, or should we trust the Question, if the two differ?
I say, trust the question and ask the OP to change the title. An obvious example is question 822.
Whichever one is longer. ;)
Seriously though, this is probably a situation where asking for clarification is likely in order (example: http://www.mathworks.com/matlabcentral/answers/744-what-techniques-can-i-use-to-extract-horizontal-lines-from-noisy-image-data).
13 Comments
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1208
Crumbs. And there I am trying to master the questions! I'd say coaxing more info out of a sparse OP is more on the good question side of things, though.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1209
I think it makes sense to have ONE suggestion per answer. They can be voted up separately to give an idea of individual importance.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1215
What does question 2 mean?
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1219
I was talking about the EVAL function. This function is traditionally considered taboo around here.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1258
I don't agree with one suggestion per answer. Unless each suggestion manages to cover the entire situation, then the original poster is going to put together aspects from several of the suggestions to come up with a final answer. Which of the suggestions should the original poster "accept" ? They cannot accept a set of answers.
An answer that is "accepted" should either be the one that solved the problem as asked, or should be the one that provides the most important information towards solving the problem. If the steps towards solving the problem have been deliberately distributed amongst several answers by the respondent because there are multiple avenues available to solving a sub-problem, then "accepting" becomes much less meaningful.
There is a difficulty that there is no clear distinction as to what Answers _are_. Are they intended to be relatively complete solutions to the question, or are they intended to be steps towards solving the question?
In my opinion, "one suggestion per answer" changes the nature of the system sufficiently that at the very least a modified voting system would be required.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1286
A good example is this question. If there is consensus on some of the points, it might be useful to put them together in an answer and accept it.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1287
Often it is best to answer the question they are asking and then answer the question they should be asking - both in the same post.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1310
@Walter: Exactly. The "best answer" can be a merged set of answers. Then we could do it like Doug: Join and summarize the answers, write your own one and accept it. Obviously not matching the intention of MATLAB Answers, but fine for the magic reputation value.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1314
@Walter: I think Doug's suggestion of "one suggestion per answer" was referring specifically to just this question, not all questions in general, since this question is basically designed to be a list of answering guidelines, sorted by importance.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1315
@Walter: I believe Doug was only talking about this question, the one I asked. For this question, one suggestion per answer let's us find out what is most important in answering questions on Answers by looking at the votes. I don't think Doug meant that to be a general approach (thought I could be wrong). Notice that he answered 3 times with 3 suggestions. Only one was voted up, so maybe that one is more important to the community.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1319
Ah... then an example of where his suggestion to "Be Brief" can lead to confusion avoidable by being more verbose.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1320
Indeed, I was only speaking of this type of "Top Ten" kind of question. Each item can be voted individually. Then the best answers will filter up to top.
Direct link to this comment:
http://www.mathworks.nl/matlabcentral/answers/797#comment_1322
That sounds like another suggestion which should be suggested as an answer below!