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, referring to various types of computer technology experts.
Hacker & User#
Hacker Preference: 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’ve 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 avoiding hasty inquiries.
Avoid Incorrect Assumptions: Ensure that your assumptions about the question are correct.
Respect Help: Ask thought-provoking questions and show a willingness to solve the problem yourself.
Asking in Forums#
Choose the Right Venue: Avoid asking questions in unrelated forums and refrain from asking the same question multiple times.
Understand Community Culture: Familiarize yourself with the FAQ and history to ensure your question aligns with the forum's rules and topics.
Language for Asking#
Concise and Clear Title: Use a clear and concise title to describe your question.
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 consult the manual or the web yourself.
Reflect on Answers: Understand the response before seeking help from others, showing that you have attempted to understand.
Handle Rude Responses: Respond calmly to rude answers, avoiding emotional reactions, and understand the direct style of the hacker community.
If You Don't Get an Answer#
Be Patient: Your 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: Be friendly and calm, avoid shaming the asker, and offer help privately.
Honest Responses: If you are unsure of the answer, express that clearly.
Teaching Responses: Help the asker learn to solve problems independently, providing useful links and recommending better solutions.