How to ask questions gracefully
1 When asking questions in various places, you will find several phenomena:
- No one answered the question
- It took a long time for the question to be answered
- People always think that I am too poor to handle
2 Before asking questions, make sure you have learned three or four chapters
The three and four chapters of this document are the basis of using ultraArm series. No matter whether you have development experience, big shot or small white, please read and operate them from front to back.
Many problems will be solved in this process. Don't ask random questions in QQ groups, forums, issues, or emails at the beginning. Many questions explained in the document at the beginning may not be answered in time by the community, In order to save everybody's time and to better the community environment.Let's grow better together,and please be mutual understanding.
3 When asking questions, try to do the following, which will greatly improve the probability of the problem being solved quickly:
Find out what happened and what I did, including:
What effect and function do I want to achieve?
In order to achieve this effect, how do I do it? What is the detailed process?
In the process of implementation, what errors have occurred and what are the phenomena (such as errors, what errors have been reported, and what are the complete error contents?)
Have I carefully read the error message? Is there any reason and solution for the error in the error message?
Based on these error messages, think carefully, can we solve the problem?
Can you search documents, issue, and search engines for solutions to problems?
4 If the problem cannot be solved by yourself and need to consult others,you may consider:
Who can I consult, where can I consult, and who will have more chances to answer my questions? And how about the real-time?
What data and phenomena should I provide to him so that he can quickly help me solve the problem?
- Provide my purpose(It is convenient for respondents to know what you are doing)
- Provide a complete implementation process and the phenomena in the process(It is convenient for the respondent to follow your process to do it again, that is, the question reappears)
- Give the wrong place and point out 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, it needed to be complete,provide the screenshots and logs as much as possible. Don't cut a small picture or give a part of the log (because the respondent may not have done this for a long time, and forgot some details, he needs to quickly recall by screenshots and full logs; and he can quickly locate the problem according to the detailed logs)
- How can I look sincere when asking questions? Even if I'm a Green Hand, everyone is willing to answer
5 Questioning template
Questioning should be as elegant as possible. It is not necessary to add extra tone words and complaining words. Consider every word and punctuation mark, and think about the question from the perspective of the respondent. How to let the respondent quickly help yourself solve the problem. Too few words make the description unclear, and too many words make people impatient.
6 Title
No matter where you are asking questions (including the QQ group
), draw up a title of about 30
words for your question to clarify the central idea of the question, including:
- Question category. Whether it is question asking, bug submission, experience sharing?,etc. Let everyone immediately locate what you want to do on the screen full of words
- One sentence to clarify the central idea of the problem, such as
running the camera sample program and reporting an error reset failure, could that be a hardware problem?
So the comprehensive title can be as follows:
【ultraArm question】 running the camera sample program and reporting an error reset failure, could that be a hardware problem?
Such titles try not to appear:
Ahhhhhh, why is my board failing again
Why can't my code run
Why does my mechanical arm stop moving
Got the machine,can't work properly,why?
I ran the xxx program and something went wrong
You can ask like this:
【ultraArm question】 After I connected my board to the reverse power supply, now the board cannot be started. How to judge where the board was burned? If so, how to save it
7 Content
First, from the perspective of the respondent, if the question is asked:
- First of all, we should know what he wants to do and achieve
- What steps did he follow to achieve this goal?
- what specific steps have been taken actually, and at which step there are problems, so that I can follow his steps to try to reproduce the phenomenon. If the problem seems difficult to solve and there is no recurrence step, it may take a lot of time to reproduce. Let's put it aside and solve other problems first
- What is the specific problem? If he only says the problem, how can I know what is wrong with him? Maybe he is unwell? So it is important to ask him to explain the phenomenon when the problem occurs and indicate what is different from the expectation, otherwise I have to guess what is different from the expectation, and the time to solve the problem has increased
- If there is a problem, I may need his log file to facilitate my analysis of the source code based on the log. Otherwise, it may be difficult to solve the problem. Let's take a look at the problem later
Comprehensive above,we can ask like this:
- Specify your goals, what you want to do, and what the phenomenon should be
- Did I refer to any documents, codes or teaching
- How to reproduce the error: how to do it, write details of each step until the problem occurs
- Describe in detail the phenomenon when the error occurs, and what is different from what is expected. It is necessary to prove that the problem does occur
- Attached log files, and screenshots, even videos, logs and screenshots must be complete, not just a small part. Answers may find some problems you did not notice from your complete logs and screenshots, which is very important
- In addition, pay attention to the format when pasting the code. Don't display it in a mess after pasting and can't be read clearly. Try to make it can directly run after copying.
- Finally, express thanks to the community friends who answered the questions