Keep these things in mind when asking for help from others.
Dos and Don’ts
- Do be respectful at all times
- Do be patient
- Do research before asking1 (Google is probably in your pocket)
- Do state your expectations, your reasoning, and what differs in the result
- Do explain what you have tried
- Do make code as short and complete as possible2,3
- Do include relevant details (versions, systems, languages, etc.)
- Do search for similar questions
- Do check spelling and grammar4
- Do check formatting
- Do read the entire question again before asking
- Do not post images of text
(Nothing to add here yet.)
- If you went from “something’s not working” to “asking a question” in less
than 10 minutes, you probably haven’t done enough research.
- Ideally anyone answering the question should be able to copy your code, paste
it into a text editor, compile it, run it, and observe the problem. Console
applications are good for this—unless your question is directly about a
user interface aspect, prefer to write a short console app. Remove anything
not directly related to your question, but keep it complete enough to run.
- Try to avoid code which makes users scroll horizontally. You may well need to
change how you split lines from how you have it in your IDE. Take the time to
make it as clear as possible for those trying to help you.
- I realize that English isn’t the first language for many. I’m not looking for
perfection, but some effort. If you know your English isn’t good, see if a
colleague or friend can help you with your question before you post it.
Motivation & Reference
I spend a lot of time, on various internet forums and in person, answering
people’s questions. I enjoy it. But that time continues to increase as I take on
increasing teaching duties (at the moment, as an undergraduate learning
assistant for CS classes).
I wanted to have a somewhat principled set of guidelines for question-askers
to consider as they are working. Perhaps eventually I will follow-up with
guidelines for question-answerers, but that is generally less pressing for me.
Most of these stem from personal experience, painful or otherwise, and all are
intended to help the asker grow, learn, or receive better feedback faster.
If you have time, you should read this
took some ideas from the followup. Both are