问题:如何提问?

一、提问之前

当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。同时要有周全的思考,准备好你的问题。在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:

通读手册,试着自己找答案。 
在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。 
在网上搜索(个人推荐google~~~)。 
向你身边精于此道的朋友打听。

二、怎样提问

  1. 谨慎选择论坛。可以理解问谨慎的选择提问的对象、平台和渠道,就是你要到有鱼的地方去捕鱼,这里可以理解为,你要向有答案的人提问。

  2. 用辞贴切,语法正确,拼写无误。从提问者角度这是对回答问题的人最起码的尊重,从回答问题的人的角度不值得为一个马虎的提问者浪费时间。

  3. 使用含义丰富,描述准确的标题。用最精炼的语言,表达最准确的意思,这样子交流才是提问者和回答问题者最佳的互动状态,这也是提问者提前做好充分准备的表现,同时也是回答问题者评价问题价值的标准。

  4. 精确描述,信息量大。

     谨慎明确的描述症状。
     提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。 
     说明你在提问前是怎样去研究和理解这个问题的。 
     说明你在提问前采取了什么步骤去解决它。 
     罗列最近做过什么可能有影响的硬件、软件变更。
    
  5. 只说症状,不说猜想。提问者的猜想可以自己去验证和解决,既然提问者解决不了问题,说明猜想没有价值,回答问题者现在最需要的是事实,提供的事实越全面、具体越有助于回答问题者解决问题,而不要用你的毫无价值的猜想去干扰回答问题者的思路。

  6. 一些有用的建议

     明白你想问什么。
     别问应该自己解决的问题。
     去除无意义的疑问。
     谦逊绝没有害处,而且常帮大忙。
     问题解决后,加个简短说明。
     还是不懂。(如果你不是很理解答案,别立刻要求对方解释。象你以前试着自己解决问题时那样,去理解它。)
    

三、反面教程(三思而后问)

以下是几个经典蠢问题,以及黑客在拒绝回答时的心中所想:

问题:我能在哪找到X程序?
问题:我的程序/配置/SQL申明没有用
问题:我的Windows有问题,你能帮我吗?
问题:我在安装Linux(或者X)时有问题,你能帮我吗?
问题:我怎么才能破解root帐号/窃取OP特权/读别人的邮件呢?

提问:我能在哪找到X程序?
回答:就在我找到它的地方啊蠢货–搜索引擎的那一头。天呐!还有人不会用Google吗?

提问:我的程序(配置、SQL申明)没有用
回答:这不算是问题吧,我对找出你的真正问题没兴趣–如果要我问你二十个问题才找得出来的话–我有更有意思的事要做呢。

在看到这类问题的时候,我的反应通常不外如下三种:你还有什么要补充的吗? / 真糟糕,希望你能搞定。 / 这跟我有什么鸟相关?

提问:我的Windows有问题,你能帮我吗?
回答:能啊,扔掉萎软的垃圾,换Linux吧。

提问:我在安装Linux(或者X)时有问题,你能帮我吗?
回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的Linux用户组寻求手把手的指导吧(你能在这儿找到用户组的清单)。

提问:我怎么才能破解root帐号/窃取OP特权/读别人的邮件呢?
回答:想要这样做,说明你是个卑鄙小人;想找个黑客帮你,说明你是个白痴!

四、好问题,坏问题

最后,我举一些例子来说明,怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。

蠢问题:我可以在哪儿找到关于Foonly Flurbamatic的资料?
// 这种问法无非想得到“STFW”这样的回答。

聪明问题:我用Google搜索过“Foonly Flurbamatic 2600”,但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料?
// 这个问题已经STFW过了,看起来他真的遇到了麻烦。

蠢问题:我从FOO项目找来的源码没法编译。它怎么这么烂?
// 他觉得都是别人的错,这个傲慢自大的家伙

聪明问题:FOO项目代码在Nulix 6.2版下无法编译通过。我读过了FAQ,但里面没有提到跟Nulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗?
// 他讲明了环境,也读过了FAQ,还指明了错误,并且他没有把问题的责任推到别人头上,这个家伙值得留意。

蠢问题:我的主板有问题了,谁来帮我?
// 普通黑客对这类问题的回答通常是:“好的,还要帮你拍拍背和换尿布吗?” ,然后按下删除键。

聪明问题:我在S2464主板上试过了X、Y和Z,但没什么作用,我又试了A、B和C。请注意当我尝试C时的奇怪现象。显然边带传输中出现了收缩,但结果出人意料。在多处理器主板上引起边带泄漏的通常原因是什么?谁有好主意接下来我该做些什么测试才能找出问题?
// 这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。

在最后一个问题中,注意“告诉我答案”和“给我启示,指出我还应该做什么诊断工作”之间微妙而又重要的区别。事实上,后一个问题源自于2001年8月在Linux内核邮件列表上的一个真实的提问。我(Eric)就是那个提出问题的人。我在Tyan S2464主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决那一问题的重要信息。

通过我的提问方法,我给了大家值得玩味的东西;我让人们很容易参与并且被吸引进来。我显示了自己具备和他们同等的能力,邀请他们与我共同探讨。我告诉他们我所走过的弯路,以避免他们再浪费时间,这是一种对他人时间价值的尊重。后来,当我向每个人表示感谢,并且赞赏这套程序(指邮件列表中的讨论 --译者注)运作得非常出色的时候,一个Linux内核邮件列(lkml)成员表示,问题得到解决并非由于我是这个列表中的“名人”,而是因为我用了正确的方式来提问。我们黑客从某种角度来说是拥有丰富知识但缺乏人情味的家伙;我相信他是对的,如果我象个乞讨者那样提问,不论我是谁,一定会惹恼某些人或者被他们忽视。他建议我记下这件事,给编写这个指南的人一些指导。

五、找不到答案怎么办

如果仍得不到答案,请不要以为我们觉得无法帮助你。

  1. 你可以通过其它渠道获得帮助,这些渠道通常更适合初学者的需要。有许多网上的以及本地的用户组,由狂热的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。
  2. 另外,你可以向很多商业公司寻求帮助,不论公司大还是小(Red Hat 和LinuxCare 就是两个最常见的例子)。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了–完全可能如此–你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。

声明:本文非作者原创,文章主要来源于Eric S. Raymond总结的文章How To Ask Questions The Smart Way,中文版本来源于ryanhanwu放在github上文章提問的智慧

引用

  1. SegmentFault帮助中心
  2. How To Ask Questions The Smart Way
  3. 提问的智慧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值