6 \; K# O1 }) K+ }2009年的更新:本文來(lái)自2005年的白云黃鶴BBS,未經(jīng)排版,四年來(lái),,文末一直保留有英文原文出處并注明鏈接) 這個(gè)版上太多的問(wèn)題,不能讓我以很愉快的心情來(lái)解答,,于是,,我放棄了強(qiáng)忍著指責(zé)別人的心情找到了這篇《提問(wèn)的藝術(shù)》(兩年前我在HomePage版張貼過(guò)),真誠(chéng)的希望那些又困難又期望得到幫助的新手朋友們抽時(shí)間看看,,問(wèn)“好的問(wèn)題”,,收獲“好的答案”,這對(duì)改善答題人的心情和形成版面氛圍都有好處,。 提問(wèn)之前 在通過(guò)電郵,、新聞組或者聊天室提出技術(shù)問(wèn)題前,檢查你有沒(méi)有做到:3 e2 X* O$ C4 C6 U; Z' N
. B' y, U9 ~, o1 G3 W0 O. _ 1. 通讀手冊(cè),,試著自己找答案,。- J$ ~ f2 {4 j* Z% }
4 w4 o) G0 v$ k3 s. ^2. 在FAQ里找答案(一份維護(hù)得好的FAQ可以包羅萬(wàn)象:)。
, ]. c1 D. |# Y3 E& S+ m2 B! ~7 v8 z6 V' o8 K4 J
3. 在網(wǎng)上搜索(個(gè)人推薦google~~~),。" }- n& D* i: w6 @ M3 t2 V
3 q3 b) } {, r- e# y2 U
4. 向你身邊精于此道的朋友打聽,。 當(dāng)你提出問(wèn)題的時(shí)候,首先要說(shuō)明在此之前你干了些什么,;這將有助于樹立你的形象:你不是一個(gè)妄圖不勞而獲的乞討者,,不愿浪費(fèi)別人的時(shí)間。如果提問(wèn)者能從答案中學(xué)到東西,,我們更樂(lè)于回答他的問(wèn)題,。 周全的思考,準(zhǔn)備好你的問(wèn)題,,草率的發(fā)問(wèn)只能得到草率的回答,,或者根本得不到任何答案。越表現(xiàn)出在尋求幫助前為解決問(wèn)題付出的努力,,你越能得到實(shí)質(zhì)性的幫助,。 小心別問(wèn)錯(cuò)了問(wèn)題。如果你的問(wèn)題基于錯(cuò)誤的假設(shè),,普通黑客(J. Random Hacker)通常會(huì)用無(wú)意義的字面解釋來(lái)答復(fù)你,,心里想著“蠢問(wèn)題…”,希望著你會(huì)從問(wèn)題的回答(而非你想得到的答案)中汲取教訓(xùn),。 決不要自以為夠資格得到答案,,你沒(méi)這種資格。畢竟你沒(méi)有為這種服務(wù)支付任何報(bào)酬,。你要自己去“掙”回一個(gè)答案,,靠提出一個(gè)有內(nèi)涵的,有趣的,,有思維激勵(lì)作用的問(wèn)題–一個(gè)對(duì)社區(qū)的經(jīng)驗(yàn)有潛在貢獻(xiàn)的問(wèn)題,,而不僅僅是被動(dòng)的從他人處索要知識(shí)–去掙到這個(gè)答案,。 另一方面,表明你愿意在找答案的過(guò)程中做點(diǎn)什么,,是一個(gè)非常好的開端,。“誰(shuí)能給點(diǎn)提示,?”,、“我這個(gè)例子里缺了什么?”以及“我應(yīng)該檢查什么地方,?”比“請(qǐng)把確切的過(guò)程貼出來(lái)”更容易得到答復(fù),。因?yàn)槟泔@得只要有人指點(diǎn)正確的方向,你就有完成它的能力和決心,。
, U( n, b8 H+ x8 R" v5 n
- s0 w7 n2 r! y5 I- k9 D 怎樣提問(wèn)
S k/ v# o$ e- 謹(jǐn)慎選擇論壇 小心選擇提問(wèn)的場(chǎng)合,。如果象下面描述的那樣,你很可能被忽略掉或者被看作失敗者: 1. 在風(fēng)馬牛不相及的論壇貼出你的問(wèn)題,。
4 j7 k: b+ C& |! |1 v/ V7 z
7 K* D8 m. [* N2 {( `# E2. 在探討高級(jí)技巧的論壇張貼非常初級(jí)的問(wèn)題,;反之亦然。; K8 s. T/ V2 K( O( a( y
( o; N5 I* N9 |# q @" e3. 在太多的不同新聞組交叉張貼 - 用辭貼切,,語(yǔ)法正確,拼寫無(wú)誤 我們從經(jīng)驗(yàn)中發(fā)現(xiàn),,粗心的寫作者通常也是馬虎的思考者(我敢打包票),。 回答粗心大意者的問(wèn)題很不值得,我們寧愿把時(shí)間耗在別處,。 正確的拼寫,,標(biāo)點(diǎn)符號(hào)和大小寫很重要。 更一般的說(shuō),,如果你的提問(wèn)寫得象個(gè)半文盲,,你很有可能被忽視。 如果你在使用非母語(yǔ)的論壇提問(wèn),,你可以犯點(diǎn)拼寫和語(yǔ)法上的小錯(cuò)–但決不能在思考上馬虎(沒(méi)錯(cuò),,我們能弄清兩者的分別)。 - 使用含義豐富,,描述準(zhǔn)確的標(biāo)題 在郵件列表或者新聞組中,,大約50字以內(nèi)的主題標(biāo)題是抓住資深專家注意力的黃金時(shí)機(jī)。別用喋喋不休的“幫幫忙”(更別說(shuō)“救命�,。,。。,。,�,!”這樣讓人反感的話)來(lái)浪費(fèi)這個(gè)機(jī)會(huì)。不要妄想用你的痛苦程度來(lái)打動(dòng)我們,, 別用空格代替問(wèn)題的描述,,哪怕是極其簡(jiǎn)短的描述。 蠢問(wèn)題: 救命�,�,!我的膝上機(jī)不能正常顯示了! 聰明問(wèn)題: XFree86 4.1下鼠標(biāo)光標(biāo)變形,,F(xiàn)ooware MV1005的顯示芯片,。 如果你在回復(fù)中提出問(wèn)題,記得要修改內(nèi)容標(biāo)題,,表明里面有一個(gè)問(wèn)題,。一個(gè)看起來(lái)象“Re:測(cè)試”或者“Re:新bug”的問(wèn)題很難引起足夠重視。另外,,引用并刪減前文的內(nèi)容,,給新來(lái)的讀者留下線索。 - 精確描述,,信息量大 1. 謹(jǐn)慎明確的描述癥狀,。1 E. X$ |9 o# O* @, n, ^
9 d: ~5 }( z' n1 k" h1 U2. 提供問(wèn)題發(fā)生的環(huán)境(機(jī)器配置、操作系統(tǒng),、應(yīng)用程序以及別的什么),。
( |7 o8 y- ^- l U) j8 m8 u9 G6 y
% `8 |7 x: W: ] z% [. A9 m3. 說(shuō)明你在提問(wèn)前是怎樣去研究和理解這個(gè)問(wèn)題的。; n8 }7 w$ K1 X! }9 g4 _
0 b; t3 I" `. I- K7 X4. 說(shuō)明你在提問(wèn)前采取了什么步驟去解決它,。
; n2 {- ^" T# N
( i( m2 @, o- M& t7 @5. 羅列最近做過(guò)什么可能有影響的硬件,、軟件變更。 盡量想象一個(gè)黑客會(huì)怎樣反問(wèn)你,,在提問(wèn)的時(shí)候預(yù)先給他答案,。 Simon Tatham寫過(guò)一篇名為《如何有效的報(bào)告Bug》的出色短文。強(qiáng)力推薦你也讀一讀,。 - 話不在多 你需要提供精確有效的信息,。這并不是要求你簡(jiǎn)單的把成噸的出錯(cuò)代碼或者數(shù)據(jù)完全轉(zhuǎn)儲(chǔ)摘錄到你的提問(wèn)中。如果你有龐大而復(fù)雜的測(cè)試條件,,盡量把它剪裁得越小越好,。
8 V) }2 E+ p# ^# N; G( N
8 x7 E6 i y" h0 q. p3 @. [ 這樣做的用處至少有三點(diǎn)。
7 t+ z- ^4 B' ~1 F1 n7 E. W- s3 v* `% e
' W. a: _1 i* |% j$ Q第一,,表現(xiàn)出你為簡(jiǎn)化問(wèn)題付出了努力,,這可以使你得到回答的機(jī)會(huì)增加;
; f$ f) ~0 ~9 I) ~# P) o+ N+ j: r$ L8 s
第二,,簡(jiǎn)化問(wèn)題使你得到有用答案的機(jī)會(huì)增加,;8 S( @/ j4 W( y" D+ q1 F
# A" E& I0 d+ o1 U. s* e第三,,在提煉你的bug報(bào)告的過(guò)程中,也許你自己就能找出問(wèn)題所在或作出更正,。 - 只說(shuō)癥狀,,不說(shuō)猜想 告訴黑客們你認(rèn)為問(wèn)題是怎樣引起的沒(méi)什么幫助。(如果你的推斷如此有效,,還用向別人求助嗎,?),因此要確信你原原本本告訴了他們問(wèn)題的癥狀,,不要加進(jìn)你自己的理解和推論,。讓黑客們來(lái)診斷吧。 蠢問(wèn)題: 我在內(nèi)核編譯中一次又一次遇到SIG11錯(cuò)誤,,我懷疑某條飛線搭在主板的走線上了,,這種情況應(yīng)該怎樣檢查最好? 聰明問(wèn)題: 我自制的一套K6/233系統(tǒng),,主板是FIC-PA2007 (VIA Apollo VP2芯片組),,256MB Corsair PC133 SDRAM,在內(nèi)核編譯中頻頻產(chǎn)生SIG11錯(cuò)誤,,從開機(jī)20分鐘以后就有這種情況,,開機(jī)前20分鐘內(nèi)從沒(méi)發(fā)生過(guò)。重啟也沒(méi)有用,,但是關(guān)機(jī)一晚上就又能工作20分鐘,。所有內(nèi)存都換過(guò)了,沒(méi)有效果,。相關(guān)部分的典型編譯記錄如下…。 - 按時(shí)間順序列出癥狀 對(duì)找出問(wèn)題最有幫助的線索,,往往就是問(wèn)題發(fā)生前的一系列操作,,因此,你的說(shuō)明應(yīng)該包含操作步驟,,以及電腦的反應(yīng),,直到問(wèn)題產(chǎn)生。 如果你的說(shuō)明很長(zhǎng)(超過(guò)四個(gè)段落),,在開頭簡(jiǎn)述問(wèn)題會(huì)有所幫助,,接下來(lái)按時(shí)間順序詳述。這樣黑客們就知道該在你的說(shuō)明中找什么,。 - 明白你想問(wèn)什么 漫無(wú)邊際的提問(wèn)近乎無(wú)休無(wú)止的時(shí)間黑洞,。最能給你有用答案的人也正是最忙的人(他們忙是因?yàn)橐H自完成大部分工作)。這樣的人對(duì)無(wú)節(jié)制的時(shí)間黑洞不太感冒,,因此也可以說(shuō)他們對(duì)漫無(wú)邊際的提問(wèn)不大感冒,。 如果你明確表述需要回答者做什么(提供建議,,發(fā)送一段代碼,檢查你的補(bǔ)丁或是別的),,就最有可能得到有用的答案,。這會(huì)定出一個(gè)時(shí)間和精力的上限,便于回答者集中精力來(lái)幫你,,這很奏效,。要理解專家們生活的世界,要把專業(yè)技能想象為充裕的資源,,而回復(fù)的時(shí)間則是貧乏的資源,。解決你的問(wèn)題需要的時(shí)間越少,越能從忙碌的專家口中掏出答案,。 因此,,優(yōu)化問(wèn)題的結(jié)構(gòu),盡量減少專家們解決它所需要的時(shí)間,,會(huì)有很大的幫助–這通常和簡(jiǎn)化問(wèn)題有所區(qū)別,。因此,問(wèn)“我想更好的理解X,,能給點(diǎn)提示嗎,?”通常比問(wèn)“你能解釋一下X嗎?”更好,。如果你的代碼不能工作,,問(wèn)問(wèn)它有什么地方不對(duì),比要求別人替你修改要明智得多,。 - 別問(wèn)應(yīng)該自己解決的問(wèn)題 黑客們總是善于分辨哪些問(wèn)題應(yīng)該由你自己解決,;因?yàn)槲覀冎械拇蠖鄶?shù)都曾自己解決這類問(wèn)題。同樣,,這些問(wèn)題得由你來(lái)搞定,,你會(huì)從中學(xué)到東西。你可以要求給點(diǎn)提示,,但別要求得到完整的解決方案,。 - 去除無(wú)意義的疑問(wèn) 別用無(wú)意義的話結(jié)束提問(wèn),例如“有人能幫我嗎,?”或者“有答案嗎,?”。首先:如果你對(duì)問(wèn)題的描述不很合適,,這樣問(wèn)更是畫蛇添足,。其次:由于這樣問(wèn)是畫蛇添足,黑客們會(huì)很厭煩你–而且通常會(huì)用邏輯上正確的回答來(lái)表示他們的蔑視,,例如:“沒(méi)錯(cuò),,有人能幫你”或者“不,,沒(méi)答案”。 - 謙遜絕沒(méi)有害處,,而且常幫大忙 彬彬有禮,,多用“請(qǐng)”和“先道個(gè)謝了”。讓大家都知道你對(duì)他們花費(fèi)時(shí)間義務(wù)提供幫助心存感激,。然而,,如果你有很多問(wèn)題無(wú)法解決,禮貌將會(huì)增加你得到有用答案的機(jī)會(huì),。 (我們注意到,,自從本指南發(fā)布后,從資深黑客處得到的唯一嚴(yán)重缺陷反饋,,就是對(duì)預(yù)先道謝這一條,。一些黑客覺(jué)得“先謝了”的言外之意是過(guò)后就不會(huì)再感謝任何人了。我們的建議是:都道謝,。) - 問(wèn)題解決后,,加個(gè)簡(jiǎn)短說(shuō)明 問(wèn)題解決后,向所有幫助過(guò)你的人發(fā)個(gè)說(shuō)明,,讓他們知道問(wèn)題是怎樣解決的,,并再一次向他們表示感謝。如果問(wèn)題在新聞組或者郵件列表中引起了廣泛關(guān)注,,應(yīng)該在那里貼一個(gè)補(bǔ)充說(shuō)明,。補(bǔ)充說(shuō)明不必很長(zhǎng)或是很深入;簡(jiǎn)單的一句“你好,,原來(lái)是網(wǎng)線出了問(wèn)題,!謝謝大家–Bill”比什么也不說(shuō)要強(qiáng)。事實(shí)上,,除非結(jié)論真的很有技術(shù)含量,,否則簡(jiǎn)短可愛的小結(jié)比長(zhǎng)篇學(xué)術(shù)論文更好。說(shuō)明問(wèn)題是怎樣解決的,,但大可不必將解決問(wèn)題的過(guò)程復(fù)述一遍,。除了表示禮貌和反饋信息以外,,這種補(bǔ)充有助于他人在郵件列表/新聞組/論壇中搜索對(duì)你有過(guò)幫助的完整解決方案,,這可能對(duì)他們也很有用。最后(至少,?),,這種補(bǔ)充有助于所有提供過(guò)幫助的人從中得到滿足感。如果你自己不是老手或者黑客,,那就相信我們,,這種感覺(jué)對(duì)于那些你向他們求助的導(dǎo)師或者專家而言,,是非常重要的。問(wèn)題久拖未決會(huì)讓人灰心,;黑客們渴望看到問(wèn)題被解決,。好人有好報(bào),滿足他們的渴望,,你會(huì)在下次貼出新問(wèn)題時(shí)嘗到甜頭,。 - 還是不懂 如果你不是很理解答案,別立刻要求對(duì)方解釋,。象你以前試著自己解決問(wèn)題時(shí)那樣(利用手冊(cè),,F(xiàn)AQ,網(wǎng)絡(luò),,身邊的高手),,去理解它。如果你真的需要對(duì)方解釋,,記得表現(xiàn)出你已經(jīng)學(xué)到了點(diǎn)什么,。比方說(shuō),如果我回答你:“看來(lái)似乎是zEntry被阻塞了,;你應(yīng)該先清除它,。”,,然后:一個(gè)很糟的后續(xù)問(wèn)題: “zEntry是什么,?” 聰明的問(wèn)法應(yīng)該是這樣:“哦~~~我看過(guò)幫助了但是只有-z和-p兩個(gè)參數(shù)中提到了zEntry而且還都沒(méi)有清楚的解釋:<你是指這兩個(gè)中的哪一個(gè)嗎?還是我看漏了什么,?” 三思而后問(wèn),。! f+ d! M0 L; d8 T9 C6 Q2 Y
! \9 |4 g# ~: t$ n; B& P以下是幾個(gè)經(jīng)典蠢問(wèn)題,以及黑客在拒絕回答時(shí)的心中所想: 問(wèn)題:我能在哪找到X程序,?
. |4 ]/ |5 f* d4 x0 R# w, N" }# H( g8 K' c: }% U, o7 C6 t
問(wèn)題:我的程序/配置/SQL申明沒(méi)有用3 l) ^. X2 r, x! L3 J
( y& T; b, W$ e4 F' h8 f8 i% Z問(wèn)題:我的Windows有問(wèn)題,,你能幫我嗎?
a, @. _5 D+ }& K0 J1 i( S% c* Q' A' W6 S; U( L+ y. e0 J1 J$ U5 T+ o
問(wèn)題:我在安裝Linux(或者X)時(shí)有問(wèn)題,,你能幫我嗎,?5 G f" \, A: y+ z
" h9 f6 }0 p& @$ r5 F
問(wèn)題:我怎么才能破解root帳號(hào)/竊取OP特權(quán)/讀別人的郵件呢? 提問(wèn):我能在哪找到X程序,?( U- ?! y& M8 z3 @# T
+ h$ H4 j2 K0 r
回答:就在我找到它的地方啊蠢貨–搜索引擎的那一頭,。天吶!還有人不會(huì)用Google嗎,? 提問(wèn):我的程序(配置,、SQL申明)沒(méi)有用/ ]+ e& |+ x8 P. d- u/ K3 I
' n4 a7 u& o3 J1 Q7 t, \
回答:這不算是問(wèn)題吧,我對(duì)找出你的真正問(wèn)題沒(méi)興趣–如果要我問(wèn)你二十個(gè)問(wèn)題才找得出來(lái)的話–我有更有意思的事要做呢。
. y3 y6 K+ Q3 f/ j) ?
! I- A" w! O8 Z1 x5 X |