『提问的智慧』
英文版原作者:Eric Steven Raymond
中文版原作者:D.H.Grand[nOBODY/Ginux]
在这个论坛里,当提出一个问题时,你能得到怎样的回答?
这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。
首先各位必须明白,我们希望能够帮助大家,解决大家遇到的问题,但是,我们决不喜欢日复一日的回答同样的问题,或者是已经给出答案的问题。
我们不想掩饰对这样一些人的蔑视——他们不愿思考,或者在发问前不去完成他们应该做的事。这种人只会谋杀时间——他们只愿索取,从不付出,无端消耗我们的时间,而我们本可以把时间用在更有趣的问题或者更值得回答的人身上。
我们在很大程度上属于志愿者,从繁忙的生活中抽出时间来解惑答疑,而且时常被提问淹没。所以我们无情的滤掉一些话题,特别是抛弃那些看起来象失败者的家伙,以便更高效的利用时间来回答胜利者的问题。
如果你决定向我们求助,当然不希望被视为失败者,更不愿成为失败者中的一员。立刻得到有效答案的最好方法,就是象胜利者那样提问——聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。
= 提问之前 =
在提出问题前,检查你有没有做到:
1.翻翻帖子,试着自己找答案。
2.在网上搜索(个人推荐google~~)。
3.向你身边精于此道的朋友打听。
当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。如果提问者能从答案中学到东西,我们更乐于回答他的问题。
周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你要自己去" 挣" 回一个答案,靠提出一个有内涵的,有趣的,有思维激励作用的问题——一个对社区的经验有潜在贡献的问题,而不仅仅是被动的
从他人处索要知识——去挣到这个答案。
另一方面,表明你愿意在找答案的过程中做点什么,是一个非常好的开端。" 谁能给点提示?" 、" 我这个例子里缺了什么?" 以及" 我应该检查什么地方?" 比" 请把确切的过程贴出来" 更容易得到答复。因为你显得只要有人指点正确
的方向,你就有完成它的能力和决心。
= 怎样提问 =
- 使用含义丰富,描述准确的标题
在提问的时候,使用有内容的主题标题是抓住注意力的黄金时机。别用喋喋不休的" 帮帮忙" (更别说" 救命啊!!!!!" 这样让人反感的话)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,别用空格代替问题的描述,哪怕是极其简短的描述。
- 精确描述,信息量大
1.谨慎明确的描述症状。
2.提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。
3.说明你在提问前是怎样去研究和理解这个问题的。
4.说明你在提问前采取了什么步骤去解决它。
5.罗列最近做过什么可能有影响的硬件、软件变更。
尽量想象我们会怎样反问你,在提问的时候预先给出答案。
- 明白你想问什么
漫无边际的提问近乎无休无止的时间黑洞。最能给你有用答案的人也正是最忙的人(他们忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞不太感冒,因此也可以说他们对漫无边际的提问不大感冒。
如果你明确表述需要回答者做什么(提供建议,发送一段代码,检查你的补丁或是别的),就最有可能得到有用的答案。这会定出一个时间和精力的上限,便于回答者集中精力来帮你,这很凑效。要理解专家们生活的世界,要把专业技能想象为充裕的资源,而回复的时间则是贫乏的资源。解决你的问题需要的时间越少,越能从忙碌的专家口中掏出答案。
因此,优化问题的结构,尽量减少专家们解决它所需要的时间,会有很大的帮助——这通常和简化问题有所区别。因此,问" 我想更好的理解X ,能给点提示吗?" 通常比问" 你能解释一下X 吗?" 更好。如果你的代码不能工作,问问
它有什么地方不对,比要求别人替你修改要明智得多。
- 别问应该自己解决的问题
我们能够分辨哪些问题应该由你自己解决;因为我们中的大多数都曾自己解决这类问题。同样,这些问题得由你来搞定,你会从中学到东西。你可以要求给点提示,但别总是要求得到完整的解决方案。一些很主观的问题,例如“这个游戏好不好玩呀?”等等,一个游戏如果你不去体验一下的话,你永远不会知道他合不合你的胃口。
- 去除无意义的疑问
别用无意义的话结束提问,例如" 有人能帮我吗?" 或者" 有答案吗?".首先:如果你对问题的描述不很合适,这样问更是画蛇添足。其次:由于这样问是画蛇添足,有人会很厌烦你——而且通常会用逻辑上正确的回答来表示他们的蔑
视,例如:" 没错,有人能帮你" 或者" 不,没答案".
- 谦逊绝没有害处,而且常帮大忙
彬彬有礼,多用" 请" 和" 先道个谢了".让大家都知道你对他们花费时间义务提供帮助心存感激。然而,如果你有很多问题无法解决,礼貌将会增加你得到有用答案的机会。
- 问题解决后,加个简短说明
问题解决后,向所有帮助过你的人发个回复,让他们知道问题是怎样解决的,并再一次向他们表示感谢。相信我,这对于那些帮助过你的人而言,是非常重要的。好人有好报,满足他们的渴望,你会在下次贴出新问题时尝到甜头。
= 找不到答案怎么办 =
如果仍得不到答案,请不要以为我们不想帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。
对于一些非常专业的问题,如果我们无法回答你,请去一些专业的论坛,请理解谁都不是万能的。