How to ask questions elegantly
1 When asking questions in various places, you will find several phenomena:
- No one answers the question after asking
- Someone answers the question after a long time
- The other party always complains that you are too new
2 Before asking questions, make sure you have studied the driver-related, software-related and hardware-related chapters in the document
The driver-related, software-related and hardware-related chapters in the document are the basis of the basics of using my series. Whether you have development experience or not, whether you are a big shot or a novice, please be sure to read and operate it from beginning to end.
Many problems will be solved in this process. Don't ask questions casually in QQ groups, forums, issues, or emails at the beginning. Many problems explained at the beginning of the document may not get timely answers from the community. Save everyone's time and for a better community environment, everyone will grow better together. Please understand each other.
3 When asking questions, try to do the following points, which will greatly increase the chances of the problem being solved quickly:
Clarify the problem, figure out what happened, and what I did, including:
What effect and function do I want to achieve?
How did I achieve this effect, and what is the detailed process?
During the implementation process, what errors occurred and what was the phenomenon (for example, an error was reported, what error was reported, and what was the complete error content?)
Did I read the error information carefully, and did the error information indicate the cause of the error and the solution?
Based on these error information, think carefully, can the problem be solved?
Search documents, issues, and search engines to find solutions to the problem?
4 If the problem cannot be solved by yourself and you need to ask others for help, you need to consider:
Who to ask, where to ask, who is more likely to answer my question? And how real-time?
What data and phenomena should I provide him so that he is willing to help me solve the problem quickly?
Provide my purpose (to let the respondent know what you are doing)
Provide the complete implementation process and the phenomena that occurred during the process (to make it convenient for the respondent to follow your process and reproduce the problem)
Give the wrong place, and indicate where the phenomenon or result is different from what you expected! (Let the respondent know where the expectation is not met)
Provide the error information that occurred, which needs to be complete, and take as many screenshots and logs as possible. Don't be stingy and take a small picture, or only give part of the log (because the respondent may not have done this for a long time and forget some details. You need to rely on screenshots and complete logs to quickly recall; and according to the detailed log, you can quickly locate where the problem is)
How to ask questions with a more sincere attitude, even if I am a novice, everyone is willing to answer
5 Question template
Try to ask questions elegantly, without adding extra modal particles, complaining words, consider every word and punctuation, think about the problem from the perspective of the respondent, and how to let the respondent quickly help you solve the problem. Too few words will not be clear, and too many words will make people impatient.
6 Title
No matter where you ask the question (including QQ group), give your question a title of about 30 words, clarifying the central idea of the question, including:
- Question category, whether it is a question to ask, a bug submission, or experience sharing, etc. Let everyone immediately locate what you want to do on a screen full of text
- Explain the core of the problem in one sentence, such as
Running the camera sample program, the error reset fail is reported, it may be a hardware problem
So the comprehensive title can be like this:
[mycobot asks] Running the camera sample program, the error reset fail is reported, could it be a hardware problem
Try to avoid such titles:
Ahhh why is my board not working again
Why can't my code run
Why is my screen black
[mycobot asks] I received the development board, the development board screen is red, with a line of small text, why
I ran the xxx program and there was a problem
You can ask like this:
[mycobot asks] My board cannot start after I connected the power supply in reverse. How can I determine where the board is burned? If possible, how can I save it
7 Content
First, from the perspective of the respondent, if you are asked a question:
- First of all, you need to know what the other party wants to do and what goal they want to achieve
- In order to achieve this goal, what steps did he refer to
- What specific steps were actually taken, and then the problem occurred at that step, so that I can follow his steps to try to reproduce the phenomenon. If the problem seems difficult to solve and there are no steps to reproduce it, it may take a lot of time to reproduce it, so put it aside and solve other problems first
- What is the specific problem? If he only says that there is a problem, how can I know what problem he has, maybe he is unwell? So this is very important. You need to ask him to explain the phenomenon when the problem occurs and indicate what is different from the expectation. Otherwise, I have to guess and compare what is different from the expectation, which increases the time to solve the problem.
- If there is a problem, I may need his log file to facilitate me to analyze the source code based on the log. Otherwise, it may be difficult to solve the problem. Then this question can be put aside for later.
In summary, you can ask questions like this:
- Elucidate your goals in detail, what you want to do, and what the phenomenon should be
- Have I referred to any documents, codes or tutorials
- How to reproduce the error: How to do it specifically, write each step in detail until the problem occurs
- Elaborate on the phenomenon when the error occurs, and what is different from the expectation, and prove that the problem has indeed occurred
- Attach log files, screenshots, and even videos. The logs and screenshots must be complete. Don't just capture a small part. The answerer may find some problems that you haven't noticed from your complete logs and screenshots. This is very important
- In addition, pay attention to the format when pasting the code. Don't paste it and it will be messy and unreadable. Try to copy it and run it directly
- Finally, thank the community friends who answered the question