Original link: http://www.catb.org/~esr/faqs/smart-questions.html
This is a famous article in the tech community that comprehensively discusses how to ask technical questions, a fundamental issue.
The article frequently uses "Hacker" as a subject, where hackers refer to various computer technology experts.
Hackers & Users#
Hacker preferences: Questions that are challenging and stimulate thinking.
Hacker's bad reputation: Disdain for simple questions, which may come off as indifferent to newcomers.
User needs: Some users just want to use the software without caring about technical details; others are willing to actively participate in problem-solving.
Before Asking#
Look for answers yourself: Search forums and Google, consult FAQs and manuals, ask friends, or read the source code.
Indicate you have done your homework: Clearly state that you have searched and investigated when asking, sharing what you have learned to improve the quality of your question.
When Asking#
Effective searching: Use platforms like Google and Stack Overflow to search for similar questions and describe your search process.
Calm and detailed: Questions should be concise and clear, showcasing your effort, and avoid hasty inquiries.
Avoid erroneous assumptions: Ensure your assumptions about the question are correct.
Respect for help: Ask thought-provoking questions and show a willingness to solve the problem yourself.
Questioning Forums#
Choose the occasion wisely: Avoid asking questions in unrelated forums and refrain from asking the same question repeatedly.
Understand community culture: Familiarize yourself with FAQs and historical records to ensure your question aligns with the forum's rules and topics.
Questioning Language#
Concise and clear title: Describe the issue with a clear and concise title.
Clear expression: Use accurate grammar and standard formatting; do not send HTML emails or closed file formats.
Avoid guessing: Describe actual symptoms rather than making guesses.
Interpreting Answers#
STFW & RTFM: If you receive these replies, it means you should look up the manual or online resources yourself.
Reflect on answers: Understand the response before seeking help from others, showing that you have attempted to comprehend it.
Handle rude responses: Respond calmly to rude answers, avoiding emotional reactions, and understand the direct style of the hacker community.
If No Answer is Received#
Be patient: The question may not have been understood, there may be time zone differences, or others may not know the answer; avoid asking repeatedly.
Seek other help: You can try local user groups or commercial technical support.
Answering Better#
Constructive responses: Maintain a friendly and calm attitude, avoid humiliating the questioner, and offer help privately.
Honest responses: If you are unsure of the answer, express that clearly.
Teaching-style answers: Help the questioner learn to solve problems independently, providing useful links and recommending better solutions.