How To Ask Questions Gracefully
1 When asking questions in various places, you will find several phenomena:
- No answer after asking question.
- It took a long time for the question to be answered.
- The other party always despise me and do nothing.
2 Before asking questions, make sure you have studied chapters three or four.
Chapters 3 and 4 of this document are the basis for using the my series. No matter whether you have development experience or not, be sure to read and operate from front to back.
Many problems will be solved during this process. Do not ask questions in QQ groups, forums, issues, or emails at the very beginning. Many problems explained in the document at the beginning may not be answered in a timely by the community. To save everyone's time, and for a better community environment, everyone can grow together better, please understand each other.
3 When asking questions, try to do the following, which will greatly increase the chances of a quick resolution:
To figure out what's going on and what I did, including:
What effect and what function do I want to achieve?
In order to achieve this effect, how do I do it and what is the detailed process?
In the process of implementation, what error occurred and what is the phenomenon (for example, what is the error reported, what is the complete error content?)
Have I read the error message carefully, and is there any indication of the cause and solution of the error in the error message?
Based on these error messages, think carefully, can I solve the problem?
Can I find a solution to the problem by searching the documentation, issues, and using a search engine?
4 If you really can't solve the problem yourself, you need to ask someone for help, and you need to consider:
Who to ask, where to ask, and who has a better chance of answering my question? And how about real-time?
What data and phenomena should I give him so that he is willing to help me solve the problem quickly?
- Provide my purpose (to let the answerer know what you are doing).
- Provide the complete implementation process and the phenomena that occur in the process (for the answerer to follow your process to do it again, that is, the problem recurs).
- Give the wrong place, indicate where the phenomenon or result is different from what you expected! (Let the answerer know, where did not meet expectations).
- For the error information that appears, it needs to be complete, as many screenshots as possible, more logs, don't be stingy to take a small picture, or give a part of the log (because the answerer may not have done this for a long time, they forgot some details, and they need to rely on screenshots and complete logs to quickly recall.And according to the detailed logs, they can quickly locate where the problem is).
How to ask questions with a more sincere attitude, even if I don't understand anything, everyone is willing to answer.
5 Question Template
Try to ask questions as elegantly as possible, without adding redundant modal particles, complaining vocabulary, considering every word and punctuation, thinking about the problem from the perspective of the answerer, and how to let the answerer help me solve the problem quickly. Too few words will make it difficult to describe the question, and too many words will make the answerer impatient.
No matter where the question is asked (including
QQ group), prepare a title of about
30 words for your question, clarifying the central idea of the question, including:
- It is necessary to clearly distinguish the type of problem, whether it is a question to ask, a bug submission, or an experience sharing and so on. Let answerer instantly locate what you want to do on a screen full of text.
- One sentence to clarify the core of the problem, such as
run the camera sample program, report an error reset fail, it may be a hardware problem.
So the title after synthesis can be like this:
[Mycobot question] Running the camera sample program, the error reset fail is reported. Could it be a hardware problem?
Try to don't appear in such a title:
Why is my board not working again?
Why is my code not working?
Why is my screen black?
[Mycobot question] I received the development board, why is the development board screen red and has a small line of text?
I ran a program and something went wrong.
You can ask this:
[Mycobot question] My board can't start after I connected the power supply in reverse, how can I tell where the board is burnt, and if so, how can I save it?
First stand on the answerer's point of view, if asked a question:
- First of all, I need to know what the other party wants to do and what the goal is to achieve.
- In order to achieve this goal, what steps did he refer to?
- In fact, what specific steps were used, and then at which step the problem occurred, so that I can try to reproduce the phenomenon according to his steps. If this problem seems to be difficult to solve and there are no steps to reproduce it, it may take a lot of time to reproduce, so let's put it aside and solve other problems first.
- What was the specific problem that arose, and if he only stated the problem, how would I know what was wrong with him, maybe a physical discomfort? So this is very important, I need to ask him to explain the phenomenon of the problem and indicate what is different from the expected, otherwise I have to guess what is the difference between the comparison and the expected, and the time to solve the problem has increased.
- If there is a problem, I may need his log file, so that I can analyze the source code according to the log, otherwise it may be difficult to solve the problem, then this problem can be looked at later.
In summary, you can ask the following questions:
- Elaborate on your goals, what you want to do, and what the phenomenon should look like.
- Is there any documentation, code, or tutorial I refer to?
- How to reproduce the error: how to do it in detail, write each step in detail until the problem occurs.
- Elaborate on what happened when the error occurred, and how it was different from what was expected, and needed to prove that the problem did occur.
- Attach log files, as well as screenshots, or even videos, logs and screenshots must be complete, not just a small part, the answerer may find some problems you did not notice from your full log and screenshots, this is very important.
- In addition, pay attention to the format when pasting the code. Do not display it in a mess after pasting, and it cannot be seen. Try to copy it and run it directly.
- Finally, you need to thank the community friends who answered the question.