|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
论坛上见到最多的是网友的提问,但是确实有很大一部分的提问让人摸不到头脑,更别提有兴趣回答。
+ M' s& t$ G8 P# C下面是我在别的论坛看到的非常好的关于提问的技巧。希望广大网友与作个借鉴。使自己的提问水平提高。以减少版主在回答时所思考的弯路。
8 p) h% q6 l& g5 c r提问之前(Before You Ask) / z9 c0 e8 C) y. G( }4 C
在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:
2 R# X2 n# A; w$ t9 Z x2 j1. 通读手册,试着自己找答案。
3 | t6 B& g! S3 e! R9 _2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。 & h3 `8 f$ \6 V6 C0 R% j( ^
3. 在网上搜索(个人推荐google~~~)。
- @ j' `/ @! D2 T, E8 [- `& e4. 向你身边精于此道的朋友打听。 ; u! I. u- z, r7 j4 U/ F
当你提出问题的时候,首先要说明在此之前你干了些什么。
. H( T. ]- e- T/ w; E2 F周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答
3 c* @. ?/ m* F: Z- O- E案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。 & d* H' ?& h; [' c1 \) V1 d
怎样提问 (When You Ask) ( ?1 @: P z7 {3 {2 T) X
谨慎选择不同的分组: ; M; S. H( Y) c; b6 f! e
小心选择提问的场合。如果象下面描述的那样,你很可能被忽略掉或者被看作失败者:
; @/ g. e: @" u4 z0 w+ O+ ]1. 在风马牛不相及的论坛贴出你的问题 * r2 r, B& y5 L* t5 R+ I- B/ ^
2. 在探讨高级技巧的论坛张贴非常初级的问题;反之亦然
7 v8 |+ v" {, N8 X. l* J: Y* t3. 在太多的不同新闻组交叉张贴 / }5 q4 x/ |# } {- m+ A) ]
用辞贴切,语法正确,拼写无误 3 G( d- K5 ]- ~& {+ g, ?; b
我们从经验中发现,粗心的写作者可能也是马虎的思考者。 & h3 ~ D' z0 k+ I+ `" G
回答粗心大意者的问题很不值得。
0 s j& L* r# M" ?正确的拼写,标点符号和大小写很重要。 7 {0 {2 e% |. v7 Q1 K
更一般的说,如果你的提问写得象个半文盲,你很有可能被忽视。 8 E! j) V+ {6 q1 p! ]
如果你在使用非母语的论坛提问,你可以犯点拼写和语法上的小错--但决不能在思考上马. @/ {) E% |* Z1 ]
虎(没错,我们能弄清两者的分别) 3 S$ }- D" X7 t* t
使用含义丰富,描述准确的标题
$ e+ s2 p4 t; i! }. ~/ Z3 u% i在邮件列表或者新闻组中,大约50字以内的主题标题是抓住资深专家注意力的黄金时机。( q8 V" r8 [: p
别用喋喋不休的“帮帮忙”(更别说“救命啊!!!!!”这样让人反感的话)来浪费这. n9 p; I5 ~1 t, B
个机会。不要妄想用你的痛 苦程度来打动我们,别用空格代替问题的描述,哪怕是极其简" y8 b, M% S3 x C+ C$ I, [ R
短的描述。
3 a$ a {+ H: z" T3 f1 X不够聪明的问题:救命啊!我的膝上机不能正常显示了!
* N k$ S$ {1 p: r G N C聪明问题:XFree86 4.1下鼠标光标变形,Fooware MV1005的显示芯片。
, R9 w' ?1 c+ t6 I% d如果你在回复中提出问题,记得要修改内容标题,表明里面有一个问题。一个看起来象“( Q0 p' _1 `7 v( g3 |; C/ n! n
Re:测试”或者“Re:新bug”的问题很难引起足够重视。另外,引用并删减前文的内容,+ Z) s" p' H' v0 `
给新来的读者留下线索。
/ Z }5 O) I3 W精确描述,信息量大 : M( {$ d' k* R& f6 X! O: d
1. 谨慎明确的描述症状。
$ W- J/ j$ \% Q: f3 P/ x4 u3 U2. 提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。 1 u! f6 y4 W* w# S& E, w
3. 说明你在提问前是怎样去研究和理解这个问题的。 k, q+ |- f8 d% W* f. U% o
4. 说明你在提问前采取了什么步骤去解决它。
! Q7 n' u8 v2 n7 ?; F$ j x5. 罗列最近做过什么可能有影响的硬件、软件变更。 1 q3 l. N. g) J0 F5 K
话不在多
( O. ]! V! m; y, d) H6 G% z你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储
, b: A$ a& H# I( i, q摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。 1 s- b4 \% y5 b+ _* j
这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得到回答$ m: }+ L$ [, z
的机会增加;第二,简化问题使你得到有用答案的机会增加;第三,在提炼你的bug报告的0 A2 `: E6 k, F) r- ?. n; E
过程中,也许你自己就能找出问题所在或作出更正。
) i; N7 D+ f, l只说症状,不说猜想
" F) T* g' ]) c! x! k# [告诉大家你认为问题是怎样引起的没什么帮助。(如果你的推断如此有效,还用向别人求4 M# }3 Z4 s7 L2 o! c( h$ {$ Q+ y# f
助吗?),因此要确信你原原本本告诉了他们问题的症状,不要加进你自己的理解和推论
9 d. f, `# U1 f6 I。
% T# ]; r' `* U& k& v. h不够聪明的问题:
) L) R, k& D, w我在内核编译中一次又一次遇到SIG11错误,我怀疑某条飞线搭在主板的走线上了,这种情 t2 G% D, i1 s1 q! e
况应该怎样检查最好?
+ l' e2 F$ t$ J( [$ M% U- E: I1 b聪明问题: , S8 a% i0 u3 Q0 l$ _9 R
我自制的一套K6/233系统,主板是FIC-PA2007 (VIA Apollo VP2芯片组),256MB Corsa
! X4 I2 {" y* [' P8 \ir PC133 SDRAM,在内核编译中频频产生SIG11错误,从开机20分钟以后就有这种情况,开
6 G) A( f# O- {3 _机前20分钟内从没发生过。重启也没有用,但是关机一晚上就又能工作20分钟。所有内存
. z4 Q) [! `( F; u; G都换过了,没有效果。相关部分的典型编译记录如下...。 ( i8 Z. w p+ V% q% ^! S) A9 X
按时间顺序列出症状
& E6 i8 q' I" z4 r" m对找出问题最有帮助的线索,往往就是问题发生前的一系列操作,因此,你的说明应该包
' M( _6 n% W# W1 G5 r6 ?含操作步骤,以及电脑的反应,直到问题产生。如果你的说明很长(超过四个段落),在8 v" X. \4 J) ?% `# z b% ?; }4 g% F
开头简述问题会有所帮助,接下来按时间顺序详述。
- _) H" ]! d1 A9 j明白你想问什么
- d, L" l$ `& `3 Z. g漫无边际的提问近乎无休无止的时间黑洞。最能给你有用答案的人也正是最忙的人(他们2 s* G1 N% l7 Z: A' j* s
忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞不太感冒,因此也可以$ z- b. N2 W5 K) ~) ^# i; ]# s
说他们对漫无边际的提问不大感冒。 如果你明确表述需要回答者做什么(提供建议,发送8 ?1 K& v: K# w0 j
一段代码,检查你的补丁或是别的),就最有可能得到有用的答案。这会定出一个时间和
4 a3 ~& S' _$ y+ t- e- j1 y; j精力的上限,便于回答者集中精力来帮你,这很凑效。
2 T$ j }; Y# \6 I优化问题的结构,尽量减少专家们解决它所需要的时间,会有很大的帮助--这通常和简化' z8 U& X% X6 k/ j" m k1 j
问题有所区别。因此,问“我想更好的理解X,能给点提示吗?”通常比问“你能解释一下( r3 } j; Q5 D% o0 P( [
X吗?”更好。如果你的代码不能工作,问问它有什么地方不对,比要求别人替你修改要明
! R. ?; y2 h9 N8 R! [" I2 c智得多。 ) [" [$ T; J- o% [9 H! T3 j0 j# b
别问应该自己解决的问题 / \. }; L# o9 d* f9 ]5 e
大家总是善于分辨哪些问题应该由你自己解决;因为我们中的大多数都曾自己解决这类问6 B* k7 s. R: |6 M4 v% t
题。同样,这些问题得由你来搞定,你会从中学到东西。你可以要求给点提示,但别要求
( j0 g; W: ?9 M5 b得到完整的解决方案。 3 R" p' k. ~& Q
去除无意义的疑问
: W5 s! f$ r3 o) I- T V) N& l别用无意义的话结束提问,例如“有人能帮我吗?”或者“有答案吗?”。
; E4 C( m! c! I! c C首先:如果你对问题的描述不很合适,这样问更是画蛇添足。2 }2 n0 f* ]! K7 X
谦逊绝没有害处,而且常帮大忙
7 ~) E. o/ k( w+ b H- ?& |彬彬有礼,多用“请”和“先道个谢了”。让大家都知道你对他们花费时间义务提供帮助
8 V2 R; r8 }% F9 N心存感激。 然而,如果你有很多问题无法解决,礼貌将会增加你得到有用答案的机会。 $ g! l9 J4 Y, S0 P, P' ?8 s5 K
问题解决后,加个简短说明 ) d! f. ^& }3 L. p! @
问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向- n: e4 w' `, d3 _9 G: q9 L* w
他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个补
; S5 p0 P& B$ D& Y# k充说明。补充说明不必很长或是很深入;简单的一句“你好,原来是网线出了问题!谢谢, C- v5 b/ L9 d0 _6 }
大家--Bill”比什么也不说要强。事实上,除非结论真的很有技术含量,否则简短可爱的
8 O% x- ^2 K% k9 F8 w9 O0 e2 t4 `小结比长篇学术论文更好。说明 问题是怎样解决的,但大可不必将解决问题的过程复述一7 d+ q: H8 k% `2 l
遍。
9 I/ S$ t7 r0 z除了表示礼貌和反馈信息以外,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你
2 g* j! q* m4 | ^' l有过帮助的完整解决方案,这可能对他们也很有用。
: N) z+ _" _4 F( A+ ^最后(至少?),这种补充有助于所有提供过帮助的人从中得到满足感。如果你自己不是
9 j9 x! _% |" Q! R/ t8 ^老手或者黑客,那就相信我们,这种感觉对于那些你向他们求助的导师或者专家而言,是
6 J; e& |1 m1 t8 `; s" ?! k非常重要的。问题久拖未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足
2 x' ?( k& T c o8 A8 c% }他们的渴望,你会在下次贴出新问题时尝到甜头。 - _0 w) _" b, z1 I
还是不懂 ) _: B8 B& X3 P4 u1 _
如果你不是很理解答案,别立刻要求对方解释。象你以前试着自己解决问题时那样(利用3 O7 |6 |6 `8 T0 j- C7 S3 ]3 \# D
手册,FAQ,网络,身边的高手),去理解它。 如果你真的需要对方解释,记得表现出你
1 G4 P; ^! N& E( B3 r& i2 L已经学到了点什么。比方说,如果我回答你:“看来似乎是zEntry被阻塞了;你应该先清3 X' }: Q- b, o1 ]) K4 D
除它。”,然后:一个很糟的后续问题:“zEntry是什么?” 聪明的问法应该是这样:“9 l t7 B" ?8 d" P
哦~~~我看过帮助了但是只有-z和-p两个参数中提到了zEntry而且还都没有清楚的解释:<你
' P1 N* s# M; ?" @是指这两个中的哪一个吗?还是我看漏了什么?” # ~- S4 D8 e! Z$ w5 x
三思而后问 ( Questions Not To Ask) 5 T) Y( A7 B( n8 a7 F
以下是几个经典不聪明的问题,以及大家在拒绝回答时的心中所想: ) `' b% h0 q% l. |
问题:我能在哪找到X程序? : G# c7 Q. [: |$ ~
回答:就在我找到它的地方啊--搜索引擎的那一头。天呐!还有人不会用Google吗? 8 O3 {; |8 U: o# @) B! l
提问:我的程序(配置、SQL申明)没有用
" S$ v% q& ?' I回答:这不算是问题吧,我对找出你的真正问题没兴趣--如果要我问你二十个问题才找得: R" X. q- T" z P1 X4 W8 T
出来的话--我有更有意思的事要做呢。 3 M y+ a* a) ^( W; ~
在看到这类问题的时候,我的反应通常不外如下2种: , e3 Q/ t7 f6 S2 n8 P v$ g
1. 你还有什么要补充的吗? ; C- v* i" l, R a" `
2. 真糟糕,希望你能搞定。 3 ~& c0 a, _1 Y& h! p5 L- {+ ]
好问题,坏问题 ( Good and Bad Questions )
, n4 p. f& A4 q2 H最后,我举一些例子来说明,怎样聪明的提问;同一个问题的两种问法被放在一起,一种. T2 Z7 b" _! s3 n8 X
是愚蠢的,另一种才是明智的。 6 G: y0 h' Y5 v1 \! T
不聪明问题:我可以在哪儿找到关于Foonly Flurbamatic的资料? # a, M0 n' E3 t6 o+ ]
这种问法无非想得到“STFW”这样的回答。
3 [5 C# `0 O5 V3 V, A. |" f9 X聪明问题:我用Google搜索过“Foonly Flurbamatic 2600”,但 是没找到有用的结果。# o. F3 y2 @& _4 A/ l3 F2 M: v
谁知道上哪儿去找对这种设备编程的资料? / ^- u! ?! t1 H6 K" w5 @: o1 F9 u
这个问题已经STFW过了,看起来他真的遇到了麻烦。
8 |, r, V% e' X1 ?" [+ E不够聪明的问题:我从FOO项目找来的源码没法编译。它怎么这么烂?
4 j* N( z( ]1 ?& l- `! R他觉得都是别人的错
- D) v& [ L" X; s N5 T; k聪明问题:FOO项目代码在Nulix 6.2版下无法编译通过。我读过了FAQ,但里面没有提到跟
5 ^8 L' e. R. C u7 v/ l4 c* p- yNulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗?
0 T* O2 U* L, h0 H他讲明了环境,也读过了FAQ,还指明了错误,并且他没有把问题的责任推到别人头上,这
K& |" O1 [# I个家伙值得留意。
" |- a6 H5 W7 k' r不聪明问题:我的主板有问题了,谁来帮我?
4 d3 f7 p/ m; m" h- K* o4 \! F聪明问题:我在S2464主板上试过了X、Y和Z,但没什么作用,我又试了A、B和C。请注意当5 R3 ^! Q# C6 n( C: v2 @! ]" J
我尝试C时的奇怪现象。显然边带传输中出现了收缩,但结果出人意料。在多处理器主板上- E7 p$ u* }. f5 _6 d
引起边带泄漏的通常原因是什么?谁有好主意接下来我该做些什么测试才能找出问题? & {8 J( B9 C- N
这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等
4 ]7 `9 y- R' R* Q天上掉答案。在最后一个问题中,注意“告诉我答案”和“给我启示,指出我还应该做什7 J* ]) [& ]5 D. S- I9 A- X
么诊断工作”之间微妙而又重要的区别。
& S- s2 }+ d u6 F事实上,后一个问题源自于2001年8月在Linux内核邮件列表上的一个真实的提问。我(Er j2 b3 J8 Q% }
ic)就是那个提出问题的人。我在Tyan S2464主板上观察到了这种无法解释的锁定现象,# a% l, v& L* O0 b" T, c
列表成员们提供了解决那一问题的重要信息。
+ F( X; [3 H. o; h通过我的提问方法,我给了大家值得玩味的东西;我让人们很容易参与并且被吸引进来。
2 r7 }8 _( i J5 o- j" I7 T8 x我显示了自己具备和他们同等的能力,邀请他们与我共同探讨。我告诉他们我所走过的弯
& s. \# f& {6 X路,以避免他们再浪费时间,这是一种对他人时间价值的尊重。后来,当我向每个人表示) B# [/ Z9 U+ @8 ]
感谢,并且赞赏这套程序(指邮件列表中的讨论--译者注)运作得非常出色的时候,一个 ? d- K: [0 w& ?# a& {& [
Linux内核邮件列表(lkml)成员表示,问题得到解决并非由于我是这个列表中的“名人”1 }5 A- K2 B) `# K* F4 d
,而是因为我用了正确的方式来提问。 + x; a1 ]- y9 R! c& o& @/ @3 M) h9 t
找不到答案怎么办 (If You Can't Get An Answer) u/ j6 ?& I* j+ X* M9 h
如果仍得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答( M7 [# G9 b2 S! r/ G
案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。 8 P# v* m0 X9 N/ d9 \
总的说来,简单的重复张贴问题是个很糟的想法。这将被视为无意义的喧闹。
; j. D! K$ A, X! i! X* g' }) D/ K: l
你可以通过其它渠道获得帮助,这些渠道通常更适合初学者的需要。有许多网上的以及本' D' l- c2 _: ]! Q4 {6 S% e
地的用户组,由狂热的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人+ y( A2 O$ l% a' j4 V
们组建这样的团体来互相帮助并帮助新手。 |
|