|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
论坛上见到最多的是网友的提问,但是确实有很大一部分的提问让人摸不到头脑,更别提有兴趣回答。
# A! U6 F% m( Z2 j- w1 _" R5 h下面是我在别的论坛看到的非常好的关于提问的技巧。希望广大网友与作个借鉴。使自己的提问水平提高。以减少版主在回答时所思考的弯路。& M d2 U- \7 J
提问之前(Before You Ask)
! ?3 \0 Z% v$ G& t' x% X2 ^在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到: % Y# M- D- r+ [. }. J
1. 通读手册,试着自己找答案。 7 M& v, H/ a5 U
2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。
" J u' m; B7 Q y" b7 S3. 在网上搜索(个人推荐google~~~)。 , y: q0 r7 Q$ A% G( Y
4. 向你身边精于此道的朋友打听。
& ^, O6 Y3 P8 c7 K6 t2 j) ]) s当你提出问题的时候,首先要说明在此之前你干了些什么。- S8 m& a1 I) V4 o. c: b
周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答
# h( W. T! V* u) [. I8 H案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
) b% e B; N! ~; p- k怎样提问 (When You Ask) 4 u( G7 }) J) B
谨慎选择不同的分组:
$ T# U/ V1 s# r% R4 y& P$ l: ?小心选择提问的场合。如果象下面描述的那样,你很可能被忽略掉或者被看作失败者:
6 `: o' }; J6 @9 a$ K/ `" E q1. 在风马牛不相及的论坛贴出你的问题 " _7 c+ ] b- {0 b; Q
2. 在探讨高级技巧的论坛张贴非常初级的问题;反之亦然 0 \! _* M; E2 {
3. 在太多的不同新闻组交叉张贴 # {5 x* Y' C3 c) ]
用辞贴切,语法正确,拼写无误 & m/ o1 U+ D8 x# w
我们从经验中发现,粗心的写作者可能也是马虎的思考者。 8 m( v x6 v- R+ m$ `4 N, d5 i
回答粗心大意者的问题很不值得。 8 U) c/ \! t3 e+ B8 I. ~+ @
正确的拼写,标点符号和大小写很重要。 $ ^, |9 w, a9 q% I' k' |9 A
更一般的说,如果你的提问写得象个半文盲,你很有可能被忽视。 & q& q' h) F9 D+ F' Q Z
如果你在使用非母语的论坛提问,你可以犯点拼写和语法上的小错--但决不能在思考上马
q2 s7 b$ ^$ ]2 B t! q虎(没错,我们能弄清两者的分别) $ r$ F: \) ~1 j4 l" f4 h1 F) z. F/ z4 s
使用含义丰富,描述准确的标题
9 a" R0 G( _4 s& [在邮件列表或者新闻组中,大约50字以内的主题标题是抓住资深专家注意力的黄金时机。
7 M/ [: r& v3 _# x) I别用喋喋不休的“帮帮忙”(更别说“救命啊!!!!!”这样让人反感的话)来浪费这
, J+ N( f+ M: H$ x3 B个机会。不要妄想用你的痛 苦程度来打动我们,别用空格代替问题的描述,哪怕是极其简
+ x+ N& U: t; {' ?) _( ~& ^短的描述。 % W+ S) D, e( g9 B/ o
不够聪明的问题:救命啊!我的膝上机不能正常显示了!
/ v4 u- K( @' k$ p* c! _聪明问题:XFree86 4.1下鼠标光标变形,Fooware MV1005的显示芯片。
" t; ?. Q7 s& O" M/ V- P% ^2 v如果你在回复中提出问题,记得要修改内容标题,表明里面有一个问题。一个看起来象“! a; F) g& D/ Y- w" B* i' z6 w5 x
Re:测试”或者“Re:新bug”的问题很难引起足够重视。另外,引用并删减前文的内容,& I# i7 i6 N$ e
给新来的读者留下线索。
+ t- [$ x% S: h& f' Q9 k5 }$ f精确描述,信息量大
( W# [8 n8 O6 z; n" {2 i1. 谨慎明确的描述症状。 6 i9 q }( T, g! [
2. 提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。
# h" T! b+ E2 A7 x/ {3. 说明你在提问前是怎样去研究和理解这个问题的。
& q6 M6 X; ]. ]4. 说明你在提问前采取了什么步骤去解决它。
' z' T" [+ ^- A5. 罗列最近做过什么可能有影响的硬件、软件变更。
3 j9 D! g5 N) T. l话不在多 0 u( I# ]( S) H, c4 `
你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储7 u: r% g+ O# y- d3 ]- G
摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。
4 h+ T- \1 N# V) p& d5 k这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得到回答- F) r* c' P7 e' Z
的机会增加;第二,简化问题使你得到有用答案的机会增加;第三,在提炼你的bug报告的! A" q/ N5 {5 S3 s
过程中,也许你自己就能找出问题所在或作出更正。 ( m( Y6 v0 W) h" m7 |! `# P) c3 C! i
只说症状,不说猜想
! B" d! |+ b% R& n& K; L告诉大家你认为问题是怎样引起的没什么帮助。(如果你的推断如此有效,还用向别人求
, Z L9 e0 T- f- Z& Z% k助吗?),因此要确信你原原本本告诉了他们问题的症状,不要加进你自己的理解和推论# ~3 F( p6 k2 [7 X% T8 u9 r
。
, p. w# c# c0 v& J; ?0 Q不够聪明的问题:
/ N5 @* N! Z; `/ j9 O& l; F我在内核编译中一次又一次遇到SIG11错误,我怀疑某条飞线搭在主板的走线上了,这种情
3 i* j' M1 k D& D4 `6 z; \8 b' q况应该怎样检查最好? ' C; O: X: h* E' ]) w. ^
聪明问题:
$ b3 J: S0 t9 O5 j9 O我自制的一套K6/233系统,主板是FIC-PA2007 (VIA Apollo VP2芯片组),256MB Corsa
8 J- |! @9 S" e( _4 }6 {ir PC133 SDRAM,在内核编译中频频产生SIG11错误,从开机20分钟以后就有这种情况,开& W) @5 D( v& y/ l8 N' c8 P
机前20分钟内从没发生过。重启也没有用,但是关机一晚上就又能工作20分钟。所有内存
0 s! Y2 E/ U7 g# t4 \都换过了,没有效果。相关部分的典型编译记录如下...。
3 w. o" Q# Q1 \+ r$ I/ H# ]8 G按时间顺序列出症状
1 ?& N k4 u. i9 h+ }" Y, B& i; l对找出问题最有帮助的线索,往往就是问题发生前的一系列操作,因此,你的说明应该包
8 I: k2 t1 R2 ?/ G8 W. p) ~% n3 u/ W含操作步骤,以及电脑的反应,直到问题产生。如果你的说明很长(超过四个段落),在
1 g! ~$ e& o# r2 _3 E; |开头简述问题会有所帮助,接下来按时间顺序详述。
# R8 p' n$ B! V0 B, l8 j- p明白你想问什么
3 G y8 D1 p# q4 \8 R( f漫无边际的提问近乎无休无止的时间黑洞。最能给你有用答案的人也正是最忙的人(他们
6 ]8 h9 w# D9 ]忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞不太感冒,因此也可以: n# @8 Q+ q7 f; U: {, O* k
说他们对漫无边际的提问不大感冒。 如果你明确表述需要回答者做什么(提供建议,发送
% C' |. C. U; [$ a一段代码,检查你的补丁或是别的),就最有可能得到有用的答案。这会定出一个时间和
! M: D( n% J+ G& j. ~精力的上限,便于回答者集中精力来帮你,这很凑效。 8 S( b: t# [) Z- _( T
优化问题的结构,尽量减少专家们解决它所需要的时间,会有很大的帮助--这通常和简化* y. G2 S' ]+ D# k
问题有所区别。因此,问“我想更好的理解X,能给点提示吗?”通常比问“你能解释一下
2 E9 x5 Y2 Q2 WX吗?”更好。如果你的代码不能工作,问问它有什么地方不对,比要求别人替你修改要明' I4 m: p: T5 {! l- X$ Z8 a$ Z$ i
智得多。 ( G# i# |' `/ r7 i
别问应该自己解决的问题
1 p o" Z* ~5 L L4 {) l0 r# A$ s大家总是善于分辨哪些问题应该由你自己解决;因为我们中的大多数都曾自己解决这类问# f5 G/ ~- s' B+ g7 {4 w: K* H
题。同样,这些问题得由你来搞定,你会从中学到东西。你可以要求给点提示,但别要求
8 I7 [1 m) \. @3 {9 b得到完整的解决方案。
7 W) q9 w5 c5 x去除无意义的疑问 2 L, D, l! [9 n
别用无意义的话结束提问,例如“有人能帮我吗?”或者“有答案吗?”。 . e$ r l8 W) v
首先:如果你对问题的描述不很合适,这样问更是画蛇添足。* J) I I. E0 P2 u! q5 p$ E
谦逊绝没有害处,而且常帮大忙
4 Q* V; {+ v7 V' s+ E彬彬有礼,多用“请”和“先道个谢了”。让大家都知道你对他们花费时间义务提供帮助
0 _* R: v0 t; _1 I" J心存感激。 然而,如果你有很多问题无法解决,礼貌将会增加你得到有用答案的机会。 4 A" p8 q9 r T6 u* k
问题解决后,加个简短说明
- w2 R1 [9 C; q& L1 a0 N; A问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向
5 K; m; H" [! C1 U他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个补, r# n4 F; y0 ^0 |4 C# G
充说明。补充说明不必很长或是很深入;简单的一句“你好,原来是网线出了问题!谢谢$ h. @5 _( o! X+ W
大家--Bill”比什么也不说要强。事实上,除非结论真的很有技术含量,否则简短可爱的0 I( d; R; Z7 J6 D, G
小结比长篇学术论文更好。说明 问题是怎样解决的,但大可不必将解决问题的过程复述一' m' F( P$ P% B4 \# T8 H- k
遍。
+ a7 ?& h5 Y2 _* L# a除了表示礼貌和反馈信息以外,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你
' L# z, a# Z+ I3 M& {. Z有过帮助的完整解决方案,这可能对他们也很有用。
. m' R# p* j6 a+ V# c, a8 S最后(至少?),这种补充有助于所有提供过帮助的人从中得到满足感。如果你自己不是
+ m3 r# p( R8 |9 Y% k' K; C J老手或者黑客,那就相信我们,这种感觉对于那些你向他们求助的导师或者专家而言,是
% Y0 G4 {" f7 @' K9 W非常重要的。问题久拖未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足
: g6 l r& W6 o他们的渴望,你会在下次贴出新问题时尝到甜头。
$ G. W, Q6 b# d( c还是不懂 ) |9 F J) {0 M& N% }/ j4 l
如果你不是很理解答案,别立刻要求对方解释。象你以前试着自己解决问题时那样(利用
- k$ z" N8 j/ d! ^0 Z手册,FAQ,网络,身边的高手),去理解它。 如果你真的需要对方解释,记得表现出你; r. x9 X5 ?7 W! U8 L' K
已经学到了点什么。比方说,如果我回答你:“看来似乎是zEntry被阻塞了;你应该先清
$ p3 o9 Q, R# H& j9 d! n9 r除它。”,然后:一个很糟的后续问题:“zEntry是什么?” 聪明的问法应该是这样:“
4 O# B) c6 D' ]4 g哦~~~我看过帮助了但是只有-z和-p两个参数中提到了zEntry而且还都没有清楚的解释:<你
# |; c, s T$ G+ E" J6 `7 }' m7 m8 }是指这两个中的哪一个吗?还是我看漏了什么?” . k& L3 x. _8 Q% m
三思而后问 ( Questions Not To Ask)
* p, E8 {3 I. Z* x以下是几个经典不聪明的问题,以及大家在拒绝回答时的心中所想:
, u8 f0 x `: S7 m) `问题:我能在哪找到X程序?
]# G0 Y; i/ b; i回答:就在我找到它的地方啊--搜索引擎的那一头。天呐!还有人不会用Google吗? # ]. N3 d3 I/ U
提问:我的程序(配置、SQL申明)没有用
/ w7 X" e* E( q回答:这不算是问题吧,我对找出你的真正问题没兴趣--如果要我问你二十个问题才找得
) e E; }5 A0 L. u( _! ~出来的话--我有更有意思的事要做呢。 - i9 _; b$ K/ f, Q5 b. j
在看到这类问题的时候,我的反应通常不外如下2种: # D5 V. h, g% V- C7 N# ^
1. 你还有什么要补充的吗?
1 N' \" i8 {$ m2. 真糟糕,希望你能搞定。
& n& t: a9 V% r* \" A4 S好问题,坏问题 ( Good and Bad Questions )
( u7 j, U8 [6 O8 o# X5 {5 W最后,我举一些例子来说明,怎样聪明的提问;同一个问题的两种问法被放在一起,一种
+ }( q' L2 R% J/ p是愚蠢的,另一种才是明智的。
. h4 ]7 I$ z0 c9 M$ I不聪明问题:我可以在哪儿找到关于Foonly Flurbamatic的资料?
! |/ {) h* b; j8 A* Z( p+ k U这种问法无非想得到“STFW”这样的回答。
, X9 I8 ^4 r2 z, o+ E- |聪明问题:我用Google搜索过“Foonly Flurbamatic 2600”,但 是没找到有用的结果。, N8 @& o7 Y" W' n7 [
谁知道上哪儿去找对这种设备编程的资料?
( ~' T7 K/ E+ W9 |这个问题已经STFW过了,看起来他真的遇到了麻烦。
: K% f9 V5 n8 z: M不够聪明的问题:我从FOO项目找来的源码没法编译。它怎么这么烂? |! U* g R9 h) f9 g& f! w
他觉得都是别人的错; s+ o- q0 P9 E. D+ [) ?0 j. c; Q* H
聪明问题:FOO项目代码在Nulix 6.2版下无法编译通过。我读过了FAQ,但里面没有提到跟
$ O; J" w: |! I6 [- ?0 ?6 [, w" zNulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗? 3 O8 S4 [1 G3 N$ o2 @
他讲明了环境,也读过了FAQ,还指明了错误,并且他没有把问题的责任推到别人头上,这
8 P% [' l/ o$ ?6 X" B) k9 G) o9 E个家伙值得留意。 ( P2 Q+ X4 \# C% ?8 m
不聪明问题:我的主板有问题了,谁来帮我? # m9 y* Q: t7 G6 R1 s1 L
聪明问题:我在S2464主板上试过了X、Y和Z,但没什么作用,我又试了A、B和C。请注意当
9 M; \! S7 _2 G+ P* K, `. ?! u) A我尝试C时的奇怪现象。显然边带传输中出现了收缩,但结果出人意料。在多处理器主板上3 I* V: j1 g. Q/ R; K1 t) h
引起边带泄漏的通常原因是什么?谁有好主意接下来我该做些什么测试才能找出问题?
d/ j. K5 a5 z6 G这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等3 C3 f5 V% {& i# Q& [
天上掉答案。在最后一个问题中,注意“告诉我答案”和“给我启示,指出我还应该做什, K; J# a6 j9 i/ z0 @6 @* P; a
么诊断工作”之间微妙而又重要的区别。 * x3 o% k# A: ~- x4 h% I( L
事实上,后一个问题源自于2001年8月在Linux内核邮件列表上的一个真实的提问。我(Er. B2 V8 e! g6 t# Q) Y
ic)就是那个提出问题的人。我在Tyan S2464主板上观察到了这种无法解释的锁定现象,: Z9 w9 e% q9 v
列表成员们提供了解决那一问题的重要信息。 ; a8 M. G; F2 {# l M# v
通过我的提问方法,我给了大家值得玩味的东西;我让人们很容易参与并且被吸引进来。: _/ ~* l r! p! |
我显示了自己具备和他们同等的能力,邀请他们与我共同探讨。我告诉他们我所走过的弯* p+ f/ `: N+ n" n! g
路,以避免他们再浪费时间,这是一种对他人时间价值的尊重。后来,当我向每个人表示3 X. J& K3 M r4 \9 V1 p
感谢,并且赞赏这套程序(指邮件列表中的讨论--译者注)运作得非常出色的时候,一个
, V, s9 W# `8 d8 z8 k3 L6 f% BLinux内核邮件列表(lkml)成员表示,问题得到解决并非由于我是这个列表中的“名人”
$ X/ c/ q- b3 [9 h" p,而是因为我用了正确的方式来提问。 1 t7 I) `1 K( w# F( T
找不到答案怎么办 (If You Can't Get An Answer)
1 U" l* A' m0 Q6 a% h. f! L# K如果仍得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答9 R+ F. Q M4 [5 e
案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。 8 n7 ~2 u' R" X, X* M6 B
总的说来,简单的重复张贴问题是个很糟的想法。这将被视为无意义的喧闹。 + N0 j7 ~) z7 R, s$ o4 G( h9 u
, {# g1 k. ~5 \1 d/ A你可以通过其它渠道获得帮助,这些渠道通常更适合初学者的需要。有许多网上的以及本
0 h# u' K# s! Y4 [地的用户组,由狂热的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人
/ \5 `) ~* j3 Q9 T7 o" I- s们组建这样的团体来互相帮助并帮助新手。 |
|