How do I write a good answer for MATLAB Answers?

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:
  1. How to (or indeed whether to) coax more information out of a sparse OP?
  2. Do I ever want to reveal EVAL?
  3. How to deal with obvious homework cheats?
  4. 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?
  5. 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 commentaires

Oliver Woodford
Oliver Woodford le 3 Fév 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
Doug Hull le 3 Fév 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
Andrew Newell le 3 Fév 2011
What does question 2 mean?
Matt Fig
Matt Fig le 3 Fév 2011
I was talking about the EVAL function. This function is traditionally considered taboo around here.
Walter Roberson
Walter Roberson le 4 Fév 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
Andrew Newell le 4 Fév 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
Andrew Newell le 4 Fév 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
Jan le 4 Fév 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
Kenneth Eaton le 4 Fév 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
Matt Fig le 4 Fév 2011
@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.
Walter Roberson
Walter Roberson le 4 Fév 2011
Ah... then an example of where his suggestion to "Be Brief" can lead to confusion avoidable by being more verbose.
Doug Hull
Doug Hull le 4 Fév 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
Matt Fig le 4 Fév 2011
That sounds like another suggestion which should be suggested as an answer below!

Connectez-vous pour commenter.

Réponses (16)

Doug Hull
Doug Hull le 3 Fév 2011

6 votes

Use good code formating

2 commentaires

Walter Roberson
Walter Roberson le 4 Fév 2011
Then give us documented reliable markup in comments...
Andrew Newell
Andrew Newell le 4 Fév 2011
I second that!

Connectez-vous pour commenter.

Jiro Doke
Jiro Doke le 3 Fév 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 commentaires

Matt Fig
Matt Fig le 3 Fév 2011
I like it!
Oliver Woodford
Oliver Woodford le 3 Fév 2011
Definitely agree with that.
Andrew Newell
Andrew Newell le 4 Fév 2011
This would work even better if comments could be edited.
Jan
Jan le 4 Fév 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
Jan le 4 Fév 2011
@Jiro: Helpful to reduce noise. And if the minor addition was inserted, delete the now meaningless comment.
Andrew Newell
Andrew Newell le 4 Fév 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
Jan le 4 Fév 2011
@Andrew: My message about pseudo-editing was not though for you only, but even for newbies.
Michael
Michael le 24 Juin 2011
Technically shouldn't Jan delete the comment about deleting meaningless comments now that Jiro has updated his post?

Connectez-vous pour commenter.

Kenneth Eaton
Kenneth Eaton le 3 Fév 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 commentaires

Andrew Newell
Andrew Newell le 4 Fév 2011
*EDIT:* would work well for additions but not for revised or deleted text.
Jan
Jan le 4 Fév 2011
@Andrew: You can set the EDIT: in the comment section, e.g. "EDIT: Question was completely changed".
Walter Roberson
Walter Roberson le 4 Fév 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
Jiro Doke le 4 Fév 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.
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.

Connectez-vous pour commenter.

Matt Fig
Matt Fig le 23 Mai 2011

5 votes

Keep it civil.
  • Even though it may be tempting to write a put-down or overly sarcastic remark, don't.
  • Links to insulting websites are discouraged.
  • It is better to give up trying to help someone and stop posting to a particular Question than to resort to mockery.
  • Sarcasm and nuances of English humor don't always translate well to non-English speakers - especially in text. Just keep in mind that we don't want to drive sincere people away.
Feel free to add elaborations or questions/concerns on the topic of civility to the comments below!

1 commentaire

Andrew Newell
Andrew Newell le 23 Mai 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.

Connectez-vous pour commenter.

Jan
Jan le 3 Fév 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 commentaires

Jan
Jan le 4 Fév 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
Andrew Newell le 4 Fév 2011
This would also mean that if someone has beaten you to the answer, you don't need to submit yours!
Jan
Jan le 4 Fév 2011
@Andrew: I do not understand this.
Andrew Newell
Andrew Newell le 4 Fév 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
Andreas Goser le 4 Fév 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
Jan le 4 Fév 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
Walter Roberson le 4 Fév 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
Jan le 4 Fév 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.
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.

Connectez-vous pour commenter.

Matt Fig
Matt Fig le 3 Fév 2011

4 votes

Put a clarifying question in the "Comment on this Question" box instead of putting your question as an answer.

2 commentaires

Walter Roberson
Walter Roberson le 4 Fév 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
Andrew Newell le 4 Fév 2011
Unless they are cycled out of sight by other comments ...

Connectez-vous pour commenter.

Doug Hull
Doug Hull le 3 Fév 2011

2 votes

If it has been asked and answered before, link to it.

3 commentaires

Walter Roberson
Walter Roberson le 4 Fév 2011
You've said that before... but you didn't link to it!
Walter Roberson
Walter Roberson le 4 Fév 2011
Can we link to _Answers_ ? Or just to _Questions_ ?
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

Connectez-vous pour commenter.

Matt Fig
Matt Fig le 3 Fév 2011

2 votes

Ask the writer of an obvious homework question (especially when no work is shown) to:
  1. Provide the work done so far (the code!) and,
  2. Revise the original question to cover a specific MATLAB question.

3 commentaires

Doug Hull
Doug Hull le 3 Fév 2011
I think I understand this, but can you revise the wording?
Matt Fig
Matt Fig le 3 Fév 2011
Is that better?
Jan
Jan le 4 Fév 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...).

Connectez-vous pour commenter.

Jiro Doke
Jiro Doke le 3 Fév 2011

2 votes

If the question is vague, ask to clarify instead of assuming the question and answering based on your assumption.

2 commentaires

Walter Roberson
Walter Roberson le 4 Fév 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
Andrew Newell le 4 Fév 2011
Also, some questioners just don't seem capable of writing a clear question, or respond slowly, or don't respond at all.

Connectez-vous pour commenter.

Matt Fig
Matt Fig le 4 Fév 2011

2 votes

Read the question all the way through before answering! (I need to remember this myself.)
Derek O'Connor
Derek O'Connor le 9 Juin 2011

2 votes

An answer should illuminate not dazzle.

7 commentaires

Matt Fig
Matt Fig le 9 Juin 2011
This is very subtle. For example, can something be both illuminating and dazzling, even if not both at the same time (on first glance, for instance)? Do you mean: An answer should be illuminating, not only dazzling? I am not sure we can tell the difference as this will be at least partially observer dependent and may evolve even for a particular observer!
Just saying...
Derek O'Connor
Derek O'Connor le 9 Juin 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.
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
Sean de Wolski le 9 Juin 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
Matt Fig le 9 Juin 2011
I think Derek has a point, especially if read as I say above with NOT ONLY in the statement. It is still subtle...
Andrew Newell
Andrew Newell le 9 Juin 2011
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.

Connectez-vous pour commenter.

Walter Roberson
Walter Roberson le 4 Fév 2011

1 vote

Should we trust the title, or should we trust the Question, if the two differ?

2 commentaires

Matt Fig
Matt Fig le 4 Fév 2011
I say, trust the question and ask the OP to change the title. An obvious example is question 822.
Kenneth Eaton
Kenneth Eaton le 4 Fév 2011
Modifié(e) : per isakson le 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).

Connectez-vous pour commenter.

Andrew Newell
Andrew Newell le 8 Fév 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.
Doug Hull
Doug Hull le 3 Fév 2011

0 votes

Be brief

3 commentaires

Walter Roberson
Walter Roberson le 4 Fév 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
Todd Flanagan le 4 Fév 2011
Invent time machine. Catch Walter in Grade 3.... nah. I like Walter's answers.
Andrew Newell
Andrew Newell le 4 Fév 2011
Brevity should be balanced with adequate explanation. Many answers just provide code that will be cryptic to novices.

Connectez-vous pour commenter.

Andrew Newell
Andrew Newell le 3 Fév 2011

0 votes

How about a Wikipedia-like version history?

2 commentaires

Jan
Jan le 4 Fév 2011
A version history would contains outdated information, and therefore noise.
Andrew Newell
Andrew Newell le 4 Fév 2011
See the comments on Kenneth's answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange

Question posée :

le 3 Fév 2011

Modifié(e) :

le 14 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by