I sometimes see questions where I feel that the asker is missing some key information that possibly could be enough for the asker to solve the problem himself. I also believe that the asker will learn more in the long run from doing the research and figuring things out by himself (for beginner to intermediate questions).

In these cases I try to drop a few keywords in a comment instead of a simple "what have you tried?".

One recent example is Animate sine wave where the asker has successfully drawn a static sine wave but doesn't know how to animate it. I added a comment pointing the OP to two classes that could be used to make the animation and the OP asked for an example.

What is a good etiquette for helping the user without answering the question?

I know that I could just take some time, write the code and the answer and give it to the asker (to be honest, I'm probably spending the same amount of time asking this question here).

That said, what I really wish for is that the OP takes the keywords, does more research and either

  1. comes back and answer his own question saying: this is what I did.
  2. comes back and edits his question with what he tried, what worked and changes the question to a more detailed question, for example: "how do I repeat the animation for ever?"

Is this a good idea or should I just stop and answer the question instead?

In some strange imaginary world I hope that the asker will learn more from solving the problem themselves and that he will come back and ask more specific questions the next time after having learnt other things while solving this problem. I also imagine that the end result for other users will be the same, the question will be answered (but by the OP).

  • Recent vaguely related question: Should an answer contain a SSCCE. My opinion is already there, of course. But I'll say that I think posting an answer is always preferable, if you are willing and have the time to compose it. If not, a comment pointing in the right direction is OK, too. – Cody Gray Jul 24 '13 at 4:35

Ultimately, Stack Exchange is a Question and Answer site. Providing help to the person asking the question isn't enough; we should be aiming to help everyone who comes along with the same question in the future. By leaving the question without an answer, you unfortunately make it less likely that people in the future will give it more than a cursory glance; the big '0' on some of our pages flat-out tells them that the question never got answered.

Additionally, even if your comments provide the OP with enough information, there's no guarantee that they'll post a self-answer or edit the question. They may instead simply walk away, happy to have had their question answered, especially if they're not a regular SE user.

Instead, the better approach is probably something in the middle. An actual answer, posted with the names of things that can help, a link to documentation, and a short explanation of what they are, and how they can help, preferably with a quick code example where possible.

It helps the OP learn where the documentation is, and what to search for, it gives them an example of how to use what you're pointing them to, which can help in understanding the documentation (some codebases are better than others at this), and most importantly, it stands as a good, constructive answer, able to help everyone who comes along, whether they just need to be pointed in the direction of something to solve their problem, or have already read the documentation, and just need an example of how to use it to do what the OP asked for.


As someone trying to learn, when I come asking a question I'm often asking for a hint, not the solution. I'd love it if someone said, "Hey, Google this keyword" or "Research topics X and Y." A lot of times I'm stumped not because I'm too lazy to do the work but because I have no idea how to even get started. The people who won't bother to learn on their own--even with a nudge--won't go very far anyway, so I don't think it matters much.


I would suggest posting the suggestion as an answer, rather than a comment. Comments aren't supposed to be permanent - they should be removed once their purpose is accomplished - and what you're really doing is giving the OP a good answer. Something like:

You can use CAShapeLayer or CADisplayLink to animate sine waves fairly easily by using <this hook> or <that method>. The documentation is [here](http:\\www.here.com\)

would do well; something just slightly more than the class name itself, but much less than writing the code for the user. A pointer to the documentation also helps, or a guide to using the class that's longer than would be appropriate for SO. Answers certainly do not need to be fully functioning code to be good answers - and are often better than code.

  • +1 This. Post an answer that educates and teaches the asker. This is often more helpful (and sometimes even more appropriate) than posting a pre-packaged coded solution. As long as it answers the question, it's an answer. I post these all the time on homework-style questions. – Cody Gray Jul 24 '13 at 4:35

You must log in to answer this question.

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