Home > Article > Backend Development > The wisdom of asking questions_PHP Tutorial
The wisdom of asking questions
Copyright (C) 2001 by Eric S. Raymond
Chinese versionCopyleft 2001 by D.H.Grand(nOBODY/Ginux)
English version: http:// www.tuxedo.org/~esr/faqs/smart-questions.html
Thanks to Eric for his patient guidance and consent, this article was completed and published. The copyright of the English version of this guide
belongs to Eric Steven Raymond,
The copyright of the Chinese version is owned by D.H.Grand[nOBODY/Ginux].
In the hacker world, when asking a technical question, what kind of answer can you get? It depends on the difficulty of digging out the
answer, and also on how you ask the question. This guide is designed to help you improve your asking skills to
get the answers you want most.
First of all, you must understand that hackers only prefer difficult tasks or good questions that stimulate their thinking.
If not, why are we still here? If you have a good question worth chewing over, we will
be grateful to you. Good questions are motivating, they are a gift, they improve our understanding and often
expose issues we never realized or thought about before.
To a hacker, "Good question!" is a compliment that comes from the bottom of my heart.
Although hackers have a bad reputation of being disdainful of simple problems and unkind, sometimes it may seem like we are hostile to newbies,
to those with little knowledge, but it's not like that.
We don’t want to hide our contempt for people who don’t want to think, or don’t do what they
should do before asking. This kind of people only murder time - they only want to take, never give, and consume our time for no reason, when we could have spent our time on more interesting questions or people more worthy of answering.
We call such people "losers" (for historical reasons we sometimes
spell it "lusers").
We are largely volunteers, taking time out of our busy lives to answer questions and are often
inundated with questions. So we ruthlessly filter out some topics, especially those
guys who look like losers, so that we can use our time more efficiently to answer questions from winners.
If you feel that our overly arrogant attitude makes you unhappy and makes you feel wronged, you might as well put yourself in our shoes. We are
not asking you to submit to us - in fact, most of us prefer nothing more than a fair deal, and as long as you make a small effort to meet the minimum requirements, we'll welcome it You join our
culture. But it makes no
sense for us to help those who are unwilling to help themselves. If you can't accept this "discrimination", we suggest you spend some money to sign a
technical support agreement with a commercial company. Come on, don't beg hackers for help.
If you decide to ask us for help, of course you don’t want to be seen as a loser, let alone become one of the losers
. The best way to get immediate, effective answers is to ask like a winner - smart, confident, with a
problem-solving mindset, but who just needs a little help occasionally with a particular question.
(Suggestions for improving this guide are welcome. Please email any suggestions to esr@thyrsus.com, however
Please note that this article is not a general guide to netiquette and I will generally reject it if it is not helpful. Technical forum to get suggestions for
useful answers )
(Of course, if you write in Chinese, it’s better to send it to DHGrand@hotmail.com;-)
========
Before asking a question
========
Before asking a technical question via email, newsgroup or chat room, check that you have done the following:
1. Read the manual thoroughly , try to find the answer yourself.
2. Find answers in the FAQ (a well-maintained FAQ can cover everything:).
3. Search online (personally recommend google~~~).
4. Ask your friends who are good at this.
When you ask a question, first explain what you have done before; this will help establish your
image: you are not a beggar who wants to get something for nothing, and you are not willing to waste other people's time. We're more likely to answer a question if the person asking the question
can learn something from the answer.
Think carefully and prepare your questions. Asking hasty questions will only get hasty answers, or you may not get any answers at all
. The more effort you put into solving the problem before asking for help, the more substantial help you will get.
Be careful not to ask the wrong question. If your question is based on wrong assumptions, the average hacker (J. Random
Hacker) will usually answer you with meaningless literal explanations, thinking "dumb question..." and hoping
you Lessons will be learned from the answers to the questions, not the answers you think you will get.
Never think you are qualified to get the answer, you are not. After all, you are not being paid anything
for this service. You have to "earn" an answer yourself by asking a meaningful, interesting, thoughtful and stimulating question - a question that has the potential to contribute to the community's experience, not just passively.
Ask for knowledge from others - to earn the answer.
On the other hand, showing that you are willing to do something in the process of finding the answer is a very good start.
"Can anyone give me a hint?", "What's missing in my example?", and "What
should I check?" are much easier to answer than "Please post the exact process." Because you seem to have the ability and determination to complete it as long as someone
points you in the right direction.
========
How to ask
========
------------
Choose your forum carefully
---------------------
Choose your forum carefully. If you do what is described below, you are likely to be ignored or regarded as a loser:
1. Post your question in an unrelated forum
2. Post your question in a forum discussing advanced techniques Post very elementary questions; vice versa
3. Cross-post in too many different newsgroups
-------------------------- -------
Appropriate wording, correct grammar, and correct spelling
-------------------------------
We know from experience that sloppy writers are often sloppy thinkers (I can vouch for that).
Answering questions from careless people is not worth it and we would rather spend our time elsewhere.
Correct spelling, punctuation and capitalization are important.
More generally speaking, if your question is written like a semi-literate person, you are likely to be ignored.
If you're asking in a forum that's not your native language, you can make a few mistakes with your spelling and grammar -- but never
be sloppy with your thinking (yes, we can figure out both) respectively)
--------------------------
Use titles with rich meaning and accurate description
----------------------------
In a mailing list or newsgroup, the topic title of approximately 50 words or less is A golden opportunity to seize the attention of senior experts
. Don't waste this opportunity by nagging "Help" (not to mention "Help!!!!" which is so offensive). Don't try to impress us with your level of pain.
Don't use spaces to describe the problem, even if it's a very brief description.
Stupid question:
Help! My laptop doesn't display properly!
Smart question:
The mouse cursor is deformed under XFree86 4.1, the display chip is Fooware MV1005.
If you ask a question in your reply, remember to change the title of the content to indicate that there is a question in it. An issue that
looks like "Re: test" or "Re: new bug" is unlikely to attract enough attention. In addition,
quote and delete the content of the previous article to leave clues for new readers.
------------------
Accurate description, large amount of information
-------------- ----
1. Describe symptoms carefully and clearly.
2. Provide the environment in which the problem occurs (machine configuration, operating system, application, etc.).
3. Explain how you researched and understood the question before asking the question.
4. Explain what steps you took to solve the problem before asking the question.
5. List any recent hardware and software changes that may have an impact.
Try to imagine how a hacker will ask you back, and give him the answer in advance when asking the question.
Simon Tatham wrote an excellent short article called "How to Report Bugs Effectively". I highly recommend you read it too.
--------
No need to talk much
--------
You need to provide accurate and effective information. This does not require you to simply extract tons of error codes or complete dumps of data into your question. If you have a large and complex test condition, try to trim it as small as possible
.
This has at least three uses. First, show that you have made efforts to simplify the question, which can increase your chances of getting answers; second, simplifying the questions can increase your chances of getting useful answers; third, in refining your In the process of bug reporting, you may be able to find out the problem or make corrections yourself.
------------------
Only tell symptoms, not conjectures
------------- -----
Telling hackers how you think the problem is caused is not helpful. (If your inference is so valid, do you still use
to ask others for help?), so make sure you tell them the symptoms of the problem exactly, without adding your own
understanding and inference. Let the hackers do the diagnosing.
Stupid question:
I encountered SIG11 errors again and again during kernel compilation. I suspect that a flying wire is connected to the motherboard trace.
How should I check the best way to check this situation? good?
Smart question:
My home-made K6/233 system, the motherboard is FIC-PA2007 (VIA Apollo VP2 chipset), 256MB
Corsair PC133
SDRAM, in kernel compilation SIG11 errors occur frequently. This happens 20 minutes after booting, but never happens within the first 20 minutes of booting
. Restarting didn't help, but shutting it down overnight enabled it to work for another 20 minutes. All
memories have been replaced with no effect. A typical compilation record of the relevant parts is as follows....
------------------
List symptoms in chronological order
-------------- ----
The most helpful clue to find out the problem is often the series of operations before the problem occurs. Therefore, your description
should include the operation steps and the computer's reaction until the problem occurs. produce.
If your description is long (more than four paragraphs), it can be helpful to briefly describe the problem at the beginning, followed by the details in chronological
order.This way hackers know what to look for in your description.