How to ask questions gracefully
1 When asking questions in various places, you will find several phenomena:
- No one answered after asking the question
- It took a long time for the question to be answered.
- The other party always dislikes me for being too good
2 Before asking questions, make sure you have studied two or six chapters
Chapters two and six of this document are the basics of using my series. Regardless of whether you have any development experience, whether you are an expert or a novice, please be sure to read and operate it completely from front to back. Again.
Many problems will be solved in this process. Be careful not to ask casual questions in QQ groups, forums, issues, or emails from the beginning. Many problems that are explained in the document at the beginning may not get timely answers from the community, saving everyone's time. Time, and for the sake of a better community environment, so that everyone can grow better together, please understand each other.
3 When asking questions, try to do the following points, which will greatly increase the chance of the problem being solved quickly:
Clarify the problem and figure out what happened and what I did, including:
What effects and functions do I want to achieve?
In order to achieve this effect, how did I do it, 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 is the complete error content?)
Did I read the error message carefully? Does the error message indicate the cause and solution of the error?
Based on these error messages, think carefully, can the problem be solved?
Search documents, issues, and can you use search engines to search for solutions to problems?
4 If you really can’t solve the problem by yourself and you need to ask others for advice, you need to consider:
Who to ask, where to ask, who has a better chance of answering my question? And how real-time it is?
What data and phenomena should I provide him so that he will be willing to help me solve the problem quickly?
- Provide my purpose (to let the respondent know what you are doing)
- Provide a complete implementation process and the phenomena that occurred during the process (to facilitate the respondent to follow your process, that is, to reproduce the problem)
- Give the mistakes and indicate where the phenomena or results are different from what you expected! (Let the respondent know where expectations were not met)
- Provide the error information that occurs. It needs to be complete. Take as many screenshots and more logs as possible. Don’t be stingy about taking a small picture or giving a part of the log (because the respondent may not have done this for a long time) , if you forget some details, you need to rely on screenshots and complete logs to quickly recall; and based on the detailed logs, you can quickly locate the problem)
How can I appear more sincere when asking questions so that no matter how new I am, everyone is willing to answer them?
5 Question Template
Try to be as elegant as possible when asking questions. There is no need to add redundant modal particles or words of complaint. Consider every word and punctuation mark. Think about the question from the perspective of the person answering the question. How to let the person answering the question quickly help you solve the problem? The number of words is too few. The description is unclear and too many words makes people impatient.
6 Title
No matter where you ask a question (including QQ group), give your question a title of about 30 words to clarify the central idea of the question, including:
- Question category, whether it is asking questions, submitting bugs, sharing experiences, etc. So that everyone can immediately locate what you want to do on a screen full of text.
- One sentence to clarify the core idea of the problem, such as
Run the camera sample program and an error reset fail is reported, it may be a hardware problem
So the comprehensive title can be like this:
[mycobot question] When running the camera sample program, an error reset fail is reported. Could it be a hardware problem?
Try not to have titles like this:
Ahhhhhhhhhh why is my board not working again
Why doesn’t my code run
Why is my screen black
[mycobot question] I received the development board. The screen of the development board is red with a line of small words. Why?
I ran the xxx program and something went wrong
You can ask:
[mycobot question] My board cannot be started after I reversely connected the power supply. How can I tell where the board is burned? If so, how can I save it?
7 Content
First of all, from the perspective of the respondent, if the question is asked:
- First, you need to know what the other party wants to do and what goals they want to achieve.
- In order to achieve this goal, what steps did he refer to?
- What specific steps were actually taken, and then a problem occurred at that step? It is convenient for me to follow his steps and 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. Let’s put it aside and solve other problems first.
- What is the specific problem? If he only states the problem, how do I know what is wrong with him, maybe he is not feeling well? So this is very important. I need to let him explain the phenomenon when the problem occurs and indicate the difference from expectations. Otherwise, I have to guess and compare the differences with expectations, which will increase the time to solve the problem.
- If there is a problem, I may need its log file so that I can read the source code and analyze it based on the log. Otherwise, it may be difficult to solve the problem, so I can put this problem aside and look at it later.
To sum up, you can ask this question:
- Explain in detail your goals, what you want to do, and what the phenomenon should be like
- Have I referred to any documentation, code or tutorials?
- How to reproduce the error: How to do it, write each step in detail until the problem occurs
- Detailed explanation of the phenomenon when the error occurred and how it was different from what was expected. It is necessary to prove that the problem did occur.
- Attach log files, screenshots, and even videos. The logs and screenshots must be complete. Do not just capture a small part. The respondent may find some problems that you have not noticed from your complete logs and screenshots. This is very important.
- In addition, please pay attention to the format when pasting the code. Don’t make it look messy and difficult to read after pasting. Try to make it run directly after copying it.
- Finally, I would like to express my gratitude to the community friends who answered the questions