美文网首页
如何聪明的提问

如何聪明的提问

作者: wuxidixi | 来源:发表于2020-07-03 10:10 被阅读0次

    如何聪明的提问

    原文How to ask question the smart way

    其他语言译版

    Brazilo-Portuguese Chinese (Traditional) Czech Dutch Estonian French Georgian German Greek Hindi Hungarian Indonesion Japanese Lithuanian Polish Portuguese Russian Spanish Ukrainian Uzbek

    译者想说的

    本文是近几年我看到的最有感触的文章,从初中开始学习计算机方面的技术,现在,我慢慢的从一个提问者变成了回答者,开始有人不断地问我问题,这时我才意识到为什么我以前问的一些问题得不到答案,没人帮助我——因为提问方式。

    计算机领域和其他领域可能不太一样,我们需要一个非常全面的问题描述,包括你的所处环境,你的期望行为,实际行为,代码和异常堆栈信息等......很多人遇到问题不自己尝试解决,直接扔上来一些残缺不全的代码,用傲慢的语气让你帮他解决,这不仅让我们无法给出一个解,而且会让我们感到不被尊重。我们回答问题,多半是出于对技术的热爱和信仰,我们并不会为了回答了你的问题而收费,我们也不想收费,如果你问了一个很好的问题,我们愿意给你解答,如果你自己都不想为了解决问题做任何努力的话,那我们不可能回答你。

    本篇文章,作者用黑客的口吻来说明如何聪明的提问这件事,我想不仅仅是对于黑客,对于任何技术领域都同样适用。英语比较差,有些地方可能翻译的不到位,而且有些国内不常用的东西我就没有进行翻译,谅解~

    希望更多的人能看到这篇文章,希望大家都越来越好。

    概要

    黑客的世界里,你提出的技术问题能获得什么样的答案很大程度上取决于你提问的方式和回答问题的难度。这份帮助手册将教你如何提问以得到一个你满意的答案。

    现在,开源社区越来越流行了,你经常可以在其他经验丰富的黑客那里得到问题的答案。这是一件好事;对于新手犯的一些错误,人们往往会更宽容,但是尽管如此,用我以下要推荐的方法去对待那些有经验者,通常也是从他们那里获得答案的最有效的方式。

    你要知道的第一件事就是,黑客们喜欢那些困难的,发人深省的问题。如果我们不喜欢的话,我们就不会在这了。如果你给我一个有趣的问题让我去细细品味,我会很感谢你;好的问题就是对我们的激励和礼物,它们能帮助我们扩展自己的知识,并且它们总能让我们看到一些之前注意不到或者说想不到的问题。在黑客的世界里,“好问题”是一个强烈而真诚的夸奖。

    尽管我这么说,但是黑客们对简单的问题表现出的傲慢和敌意似乎也是出了名的。我们有时候看起来是在本能的对那些新手和无知者做出很粗鲁的表现,但事实不是这样的。

    毫无疑问,我们只是对那些似乎并不愿意在提问前自己思考或者只是不愿意自己做作业的人怀有敌意。那种人向我们提问就是在浪费时间,他们不可能得到回复,而且他们浪费了我们本应花在其他更有趣的问题上的和其他更值得得到一个回答的人身上的时间。我们管这种人叫“losers”(而且由于历史原因,我们有事也拼成“lusers”)。

    我们意识到有很多单纯只是想要使用我们编写的软件的人,他们对一些技术细节不感兴趣。对大多数人来说,电脑只是一个工具,是一个达到目的的手段;他们还有很多更重要的事情去做,他们还要有自己的生活。我们认同这一点,也并不指望所有人都对我们喜欢的技术问题感兴趣。然而,我们回答问题的方式是为那些对技术问题感兴趣的人设置的,这一点永远不会改变,也不应该改变。如果我们妥协了,我们就会在我们最擅长的事情上失去效率。

    我们是志愿者。我们在忙碌的生活中挤出一些时间去回答问题,有时我们会被问题淹没。所以我们会毫不留情地过滤掉一些问题。我们会把那些“loser”的问题扔掉,以便于更有效的把时间花到那些“winner”身上。

    如果你觉得你很讨厌我们这种自大的、居高临下的态度,你要先想想清楚。我并没有要你们向我卑躬屈膝——事实上,如果你真的已经付出了必要的努力,我们大部分人都希望和你平等相处并且欢迎你加入我们的文化。但是对我们来说,帮助那些甚至不愿意自助的人是没有效率的。你可以无知,但是请你别来装傻。

    所以,如果你想获得我们的关注,有技术储备并不是必要的,必要的是你要展示出一个机灵,善于观察,愿意成为我们找寻解决方案的积极伙伴的态度。如果你无法忍受以上这些,我建议你花点钱去找一个商业支持,而不是让我们为你提供帮助。

    如果你决定向我们寻求帮助,你就别想成为我们说的“loser”中的一员。尽快得到回复或一个有效解答的最好方法就是像一个聪明、自信,恰巧在某个特殊问题上需要帮助的那样的人去提问。

    在你提问之前

    在你通过E-mail,新闻组或者网站的聊天面板提问技术问题时,请先做以下几个步骤:

    1. 尝试通过搜索你计划发布到的论坛或者邮件的列表,找到答案
    2. 尝试通过在网络上搜索得到答案
    3. 尝试通过阅读文档得到答案
    4. 尝试通过阅读FAQ(常见问题)得到答案
    5. 尝试通过观察和试验得到答案
    6. 尝试通过向有经验的朋友提问得到答案
    7. 如果你是一个程序员,可以尝试通过阅读源代码得到答案

    当你提问时,先表现出你已经做了这些步骤,这将会帮助你建立一个并非只是出于懒惰而提问的形象,也可以让我们确定你不是在浪费大家的时间。
    如果你能展示出你从上面这些步骤中已经得到的经验就更好了,我们喜欢回答那些可以从回答中得到学习的人的问题。

    你可以Google你得到的任何错误信息。这样很可能直接就找到了能解决问题的帖子。即使没有解决,在提问时加一句“我已经google搜索了下面这些句子,但是好像没有得到任何像样的答案”也是一件好事,即使它只是揭示了哪些搜索是没用的。这也能帮助遇到同样问题的人使用搜索引擎搜索到你的提问。

    不要着急,不要期望用很短的时间google解决复杂问题。在向专家提问之前,先阅读并理解FAQs,坐下来,放松一下,认真思考你的问题。相信我们,我们能看出你为问题做了多少努力和思考,而且如果你有备而来,我们会更愿意帮助你。不要因为第一次Google没找到答案(或者答案太多)就直接去把你的问题抛出来。

    准备下你的问题,好好思考下应该如何发问,草率的发问只能得到草率的回答,或者根本得不到。你展示了越多你寻求帮助前做出的努力,你就越有可能得到一些实质性的帮助。

    小心,别问本身就有问题的问题。如果你问了一个基于错误假设的问题,黑客们大多会一边想着“蠢货问题”一般用毫无意义的字面解释来回答你,并希望你能从我们的回答中吸取一些教训。

    永远不要认为你有权利得到回答。你狗屁都没有,毕竟我没有也不想收你一分钱。如果你能靠着提出一个值得深思的、有趣的、能为社区贡献经验的问题,你就会挣到一个答案,而不是只是被动的从别人那里索要知识。

    另一方面,明确的表示你愿意为一同寻找解答而提供帮助也是一个良好的开始。“有人能给我提供一些想法吗?”、“我的示例中缺少什么?”和“我应该检查什么?”比“请给我我应该使用的确切程序”更容易得到答案。因为你清楚的表示了如果别人给你一些指点你就能自己完成任务的决心。

    当你提问时

    谨慎选择提问论坛

    你要谨慎的选择在哪里提问。如果你做了如下的事,你很可能会被忽略或者被认为是“loser”:

    • 在一个主题不合的论坛上提问
    • 在高级的技术论坛上发布低级问题(反之亦然)
    • 在很多不同的新闻组上重复提问
    • 给既不是你的熟人也没义务回答你的问题的人发邮件

    黑客们会删除掉那些搞错场合的问题,以确保他们的沟通不被无关的东西充斥。你不会想让这种事情发生在自己身上的。

    所以第一步是找到一个对的论坛。再说一遍,Google和其他网络搜索引擎都是你的好伙计。使用它们来找到与给你带来硬件或软件问题关联最紧密的项目网页。通常它会把你带到一个FAQ列表,邮件列表或者相关说明文件的链接。如果你自己的努力都没有结果(包括阅读你找到的FAQs),也许还有Bug报告的流程或者链接,如果有,不妨进去看看。

    向你不熟悉的人或论坛发送电子邮件是有风险的。你不要假设那个网站的作者想成为你的免费顾问。不要对你的问题会不会受欢迎做乐观猜测——如果你不确定,就把你的问题发到别的地方,或者根本不发。

    当你选择一个论坛、新闻组或者邮件列表的时候,不要太相信它们的名字,阅读下FAQ或许可书去验证你的问题是否就是论坛接纳的问题。在你提问之前,先阅读一些已有话题,感受下那里的提问风格。事实上,在你提问之前,现在论坛上搜索下有没有和你相关的问题是一个很棒的主意,可能让你直接找到你的答案,如果找不到也能帮助你问出一个更漂亮的问题。

    别一次性把你的问题发到所有可以寻求帮助的板块,这就像大喊大叫一样,会让人感到很不愉快。

    要知道你要问的是什么话题!一个经典的提问错误就是在某种研究跨平可移植语言、工具的论坛中提问关于Unix或Windows程序界面的问题。如果你不知道为什么这么做很蠢,那么你最好在弄明白之前别发问。

    通常来说,在你仔细挑选的公共论坛上提出的问题比在私人论坛上提出的问题更有可能得到有用的答案。有很多原因,其中之一是潜在的回答者的规模,一个是观众的规模。黑客比较愿意回答那些能够帮助很多人的问题。

    可以理解,技术卓越的黑客和流行软件的作者会收到大量问题,已经超出他们处理的能力了。你的加入很可能让它崩溃。一些流行软件的作者崩溃后不再对自己的软件进行任何技术支持是常有的事,因为有太多太多问题涌入私人信箱,让人无法忍受。

    Stack Overflow

    先搜索,然后在Stack Exchange提问。

    最近几年,Stack Exchange社区已经成为技术或其他问答的主要网站,很多开源项目把它作为首选论坛。

    在Stack Exchange发问之前先去Google搜索,因为Google是即时索引的,有很大可能这个或者类似问题已经被人解决了。而且Stack Exchange往往出现在搜索结果的前几个。如果你Google不到任何东西,在和你的问题相关的特定网站再搜索一遍。使用标签搜索可以减小搜索结果的范围。

    如果你还是什么都找不到,那就把你的问题贴在最热门的网站。使用格式化工具,尤其是对于代码,并且添加和你问题内容相关的tag(比如使用的编程语言,操作系统或者你出现问题的库)。如果有人询问关于你问题的更多信息,那就把他们需要的信息重新加到你的问题中。如果有有用的答案,点击向上箭头让这个回答排序到上面;如果一个回答使你的问题得到解决,点击check按钮表示你已经接受了它的正确性。

    Stack Exchange已经有了100多个站点,但是下面是几个我要给你推荐的站点:

    • Super User是一个提问通用的计算机问题的网站,如果你的问题和编写程序等无关,只是一些类似联网的问题,请到这里。
    • Stack Overflow是一个提问和编程相关的问题的网站。
    • Server Fault是询问服务器和网络管理相关的问题。

    使用有意义,主题明确的标题

    你的标题是你吸引高质量专家注意的机会,一般来说在50个字符之内或者更少。不要把它浪费在“请帮助我!!!”这种无意义的标题上。不要企图用你的痛苦来打动我们;请用这个空间来简要的描述你的问题。

    一个好的标题规范是目标-偏差,这被很多组织使用。目标是说什么东西出了问题,偏差是描述和实际结果期望行为的差别。

    愚蠢的标题

    救命!我的笔记本没法正常显示了!!!

    聪明的标题

    X.org 6.8.1的鼠标游标会变形,我使用的是XXX牌显卡MV1005芯片组

    更聪明的标题

    X.org 6.8.1的鼠标游标在XXX牌显卡MV1005芯片组的环境下会变形

    你在书写目标-偏差的描述时会对你的问题进行细致思考。是什么被影响了?只是鼠标游标还是其它的图形也被影响了?问题在X.org的X版中出现?还是仅仅出现在6.8.1版本中?是针对某个牌子的显卡或者芯片组?还是只是其中的MV1005这个型号?这样黑客们只需要看一眼就能立刻知道你出了啥问题。

    想象一下如果是你正在查寻其他人问题的索引,显示的只是问题标题。使你的标题能足够好的反应你的问题,然后下一个人如果遇到了相似的问题,其他人就能注意到你这个问题了,而不是去提交一个新的,但实际上是一样的问题。

    如果你在回复中提问题,一定要修改内容标题,以表示你在问一个问题。一个“Re: 测试”或者“Re:新bug”这样的标题很难引起人注意。并且可以在不影响连贯性的前提下适当的引用并删减前文的内容,以给新读者留下线索。

    使问题更容易被回复

    以“请发送回复到...”结束会使你的问题难以被回答。如果你觉得花几秒钟在电子邮件客户端上设置一下你的回复地址都嫌麻烦,那么我们也觉得花几秒钟去思考你提的问题更麻烦。

    而且在网络论坛上,要求别人通过电子邮件回复你是非常粗鲁的,除非你真的认为这些信息是敏感的。如果当某人回复你的时候你希望得到一个E-mail形式的备份,请使用论坛的发送功能,很多论坛都支持这个功能,当有人回答问题的时候会发邮件提醒你。

    未完...

    相关文章

      网友评论

          本文标题:如何聪明的提问

          本文链接:https://www.haomeiwen.com/subject/szijqktx.html