How do I write a good answer for MATLAB Answers?
Show older comments
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:
- How to (or indeed whether to) coax more information out of a sparse OP?
- Do I ever want to reveal EVAL?
- How to deal with obvious homework cheats?
- If I edit an answer (or have a better one) I have given, do I put a big EDIT: to demarcate the new stuff or submit a new answer?
- For stock questions (think FP issues), do I put a link to a previous Answer post or the FAQ?
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
13 Comments
Oliver Woodford
on 3 Feb 2011
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.
Doug Hull
on 3 Feb 2011
I think it makes sense to have ONE suggestion per answer. They can be voted up separately to give an idea of individual importance.
Andrew Newell
on 3 Feb 2011
What does question 2 mean?
Matt Fig
on 3 Feb 2011
Walter Roberson
on 4 Feb 2011
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.
Andrew Newell
on 4 Feb 2011
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.
Andrew Newell
on 4 Feb 2011
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.
Jan
on 4 Feb 2011
@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.
Kenneth Eaton
on 4 Feb 2011
@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.
Matt Fig
on 4 Feb 2011
Walter Roberson
on 4 Feb 2011
Ah... then an example of where his suggestion to "Be Brief" can lead to confusion avoidable by being more verbose.
Doug Hull
on 4 Feb 2011
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.
Matt Fig
on 4 Feb 2011
Answers (16)
Doug Hull
on 3 Feb 2011
6 votes
Use good code formating
2 Comments
Walter Roberson
on 4 Feb 2011
Then give us documented reliable markup in comments...
Andrew Newell
on 4 Feb 2011
I second that!
Jiro Doke
on 3 Feb 2011
6 votes
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.
8 Comments
Matt Fig
on 3 Feb 2011
Oliver Woodford
on 3 Feb 2011
Definitely agree with that.
Andrew Newell
on 4 Feb 2011
This would work even better if comments could be edited.
Jan
on 4 Feb 2011
Editing a comment: Copy the original comment, delete it, open a new comment, paste and edit it. It is still faster than hitting backspace one single time in the sticky slow "add an answer" box.
Jan
on 4 Feb 2011
@Jiro: Helpful to reduce noise. And if the minor addition was inserted, delete the now meaningless comment.
Andrew Newell
on 4 Feb 2011
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?
Jan
on 4 Feb 2011
@Andrew: My message about pseudo-editing was not though for you only, but even for newbies.
Michael
on 24 Jun 2011
Technically shouldn't Jan delete the comment about deleting meaningless comments now that Jiro has updated his post?
Kenneth Eaton
on 3 Feb 2011
5 votes
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:
- It helps indicate to people who have already looked at your answer that they should give it another read.
- If an aspect of your answer has been mentioned in another answer or a comment, it's probably best to point out the edit so that the other comments don't look strange.
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.
5 Comments
Andrew Newell
on 4 Feb 2011
*EDIT:* would work well for additions but not for revised or deleted text.
Jan
on 4 Feb 2011
@Andrew: You can set the EDIT: in the comment section, e.g. "EDIT: Question was completely changed".
Walter Roberson
on 4 Feb 2011
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.)
Jiro Doke
on 4 Feb 2011
@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.
Walter Roberson
on 23 May 2011
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.
Matt Fig
on 23 May 2011
5 votes
1 Comment
Andrew Newell
on 23 May 2011
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.
Jan
on 3 Feb 2011
4 votes
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.
9 Comments
Jan
on 4 Feb 2011
I will delete this as soon as MathWorks decides to enable the "Update" button for the preview again. Voting this will be less efficient than a mail to files@mathworks.
Andrew Newell
on 4 Feb 2011
This would also mean that if someone has beaten you to the answer, you don't need to submit yours!
Jan
on 4 Feb 2011
@Andrew: I do not understand this.
Andrew Newell
on 4 Feb 2011
This has already happened to me once. I worked out an answer and was about to submit it, and someone else had already entered a very similar solution. So there wasn't much point in submitting mine.
Andreas Goser
on 4 Feb 2011
@Jan: This is the feature we two find quite useful on gomatlab.de - while you are working on your answer, you can see if somebody else already submitted an answer in between. I created an enhancement request for MATLAB Answers for that
Jan
on 4 Feb 2011
@Andreas: And this is one feature of goMatlab I'm not happy with. The automatic update steals the mouse focus, such that a copy&paste operation creates rubbish. In addition it causes a latency -at least about 0.5sec for updating the complete page, instead of up to 3sec for a single character.
Such automatic updates work very well for low system load. But with increasing traffic unpredictable effects will occur.
How is this solved usually in a multi-tasking environment? The task is (mandatorily or obligatorily) blocked, if some one else *starts* to create an answer, e.g.: "currently answered by Sco". This must be updated only, when the "Add an answer" box is entered the first time - not further auto updates, please.
Walter Roberson
on 4 Feb 2011
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.
Jan
on 4 Feb 2011
@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.
Walter Roberson
on 23 May 2011
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.
Matt Fig
on 3 Feb 2011
4 votes
2 Comments
Walter Roberson
on 4 Feb 2011
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.
Andrew Newell
on 4 Feb 2011
Unless they are cycled out of sight by other comments ...
Doug Hull
on 3 Feb 2011
2 votes
If it has been asked and answered before, link to it.
3 Comments
Walter Roberson
on 4 Feb 2011
You've said that before... but you didn't link to it!
Walter Roberson
on 4 Feb 2011
Can we link to _Answers_ ? Or just to _Questions_ ?
Walter Roberson
on 23 May 2011
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
Matt Fig
on 3 Feb 2011
2 votes
3 Comments
Doug Hull
on 3 Feb 2011
I think I understand this, but can you revise the wording?
Matt Fig
on 3 Feb 2011
Jan
on 4 Feb 2011
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...).
Jiro Doke
on 3 Feb 2011
2 votes
If the question is vague, ask to clarify instead of assuming the question and answering based on your assumption.
2 Comments
Walter Roberson
on 4 Feb 2011
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?"
Andrew Newell
on 4 Feb 2011
Also, some questioners just don't seem capable of writing a clear question, or respond slowly, or don't respond at all.
Matt Fig
on 4 Feb 2011
2 votes
Derek O'Connor
on 9 Jun 2011
2 votes
An answer should illuminate not dazzle.
7 Comments
Matt Fig
on 9 Jun 2011
Derek O'Connor
on 9 Jun 2011
Matt,
In trying to be concise I have only succeeded in being cryptic.
These definitions are from the OED and explain the sense in which I used the words:
_illuminate_, v.
* To enlighten intellectually; to give knowledge or understanding to.
* To throw light upon (a subject); to make luminous or clear; to elucidate.
_dazzle_, v.
* To overpower or confound (the mental faculties), esp. with brilliant or showy qualities.
Walter Roberson
on 9 Jun 2011
One can only illuminate someone who is receptive to being illuminated. When someone is not receptive, sometimes one can dazzle them in to receptivity.
Sean de Wolski
on 9 Jun 2011
I think dazzling as you have described it can be very helpful: pack a whole bunch of operations into one line and the user will have to figure out what each one does - a very useful skill.
Matt Fig
on 9 Jun 2011
Andrew Newell
on 9 Jun 2011
Derek's point echos a principle of good teaching: start with what the students know and then build on it.
Walter Roberson
on 9 Jun 2011
It is unlikely there will _ever_ be enough of us to "illuminate" all the doit4me whose major project is due in two days.
Walter Roberson
on 4 Feb 2011
1 vote
Should we trust the title, or should we trust the Question, if the two differ?
2 Comments
Matt Fig
on 4 Feb 2011
Kenneth Eaton
on 4 Feb 2011
Edited: per isakson
on 14 Nov 2020
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).
Andrew Newell
on 8 Feb 2011
1 vote
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.
Andrew Newell
on 11 Feb 2011
1 vote
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.
Doug Hull
on 3 Feb 2011
0 votes
Be brief
3 Comments
Walter Roberson
on 4 Feb 2011
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.
Todd Flanagan
on 4 Feb 2011
Invent time machine. Catch Walter in Grade 3.... nah. I like Walter's answers.
Andrew Newell
on 4 Feb 2011
Brevity should be balanced with adequate explanation. Many answers just provide code that will be cryptic to novices.
Andrew Newell
on 3 Feb 2011
0 votes
How about a Wikipedia-like version history?
2 Comments
Jan
on 4 Feb 2011
A version history would contains outdated information, and therefore noise.
Andrew Newell
on 4 Feb 2011
See the comments on Kenneth's answer.
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!