原文链接:http://www.catb.org/~esr/faqs/smart-questions.html

介绍

在黑客的世界里,你对技术问题的回答取决于你提出问题的方式和开发答案的难度。本指南将教您如何以更有可能得到满意答案的方式提出问题。

既然开源的使用已经变得广泛,您通常可以从其他更有经验的用户那里获得与黑客一样好的答案。这是一件好事;用户往往更能容忍新手经常遇到的那种故障。尽管如此,以我们在此推荐的方式将有经验的用户视为黑客通常也是从他们那里获得有用答案的最有效方式。

首先要了解的是,黑客实际上喜欢困难的问题和好的、发人深省的问题。如果我们不这样做,我们就不会在这里。如果您向我们提出一个有趣的问题,我们将不胜感激;好的问题是一种刺激和礼物。好的问题可以帮助我们加深理解,并经常揭示我们可能没有注意到或没有想到的问题。在黑客中,“好问题!”是一种强烈而真诚的赞美。

尽管如此,黑客以带着敌意或傲慢的态度回答简单问题而闻名。有时看起来我们对新手和无知的人是反射性的粗鲁。但这不是真的。

毫无歉意,我们对那些在提问之前似乎不愿意思考或做自己的功课的人怀有敌意。像这样的人是浪费时间的人——他们没有回报,他们浪费了我们本可以花在另一个更有趣的问题和另一个更值得回答的人上的时间。我们称这样的人为“失败者”(出于历史原因,我们有时将其拼写为“失败者”)。

我们意识到有很多人只想使用我们编写的软件,而对学习技术细节没有兴趣。对于大多数人来说,计算机只是一种工具,一种达到目的的手段;他们有更重要的事情要做,还有更重要的生活要过。我们承认这一点,并不期望每个人都对令我们着迷的技术问题感兴趣。尽管如此,我们回答问题的方式是针对那些对此感兴趣并愿意积极参与解决问题的人而调整 。这不会改变。也不应该;如果确实如此,我们将在我们最擅长的事情上变得不那么有效。

我们(大部分)是志愿者。我们从忙碌的生活中抽出时间来回答问题,有时我们会被它们压得喘不过气来。所以我们无情地过滤。特别是,我们会扔掉看似失败者的问题,以便更有效地将我们的问答时间花在获胜者身上。

如果您发现这种态度令人讨厌、居高临下或傲慢,请检查您的假设。我们并不是要你向我们屈服——事实上,如果你付出必要的努力使这成为可能,我们大多数人都愿意平等地对待你并欢迎你加入我们的文化。但是,我们试图帮助那些不愿意帮助自己的人根本就没有效率。无知也没关系;装傻是不行的。

因此,虽然不必具备技术能力才能引起我们的注意,但必要展示导致能力的态度——机敏、深思熟虑、观察力强、愿意成为开发解决方案的积极合作伙伴。如果您无法忍受这种歧视,我们建议您向某人支付商业支持合同,而不是要求黑客亲自为您提供帮助。

如果您决定向我们寻求帮助,您不想成为失败者之一。你也不想看起来像一个人。获得快速且响应迅速的答案的最佳方式是像一个聪明、自信、有线索的人一样,在某个特定问题上碰巧需要帮助。

在你问之前

在通过电子邮件、新闻组或网站聊天板提出技术问题之前,请执行以下操作:

  1. 尝试通过搜索您计划发布到的论坛或邮件列表的档案来找到答案。

  2. 尝试通过搜索网络找到答案。

  3. 尝试通过阅读手册找到答案。

  4. 尝试通过阅读常见问题解答来找到答案。

  5. 尝试通过检查或实验找到答案。

  6. 尝试通过询问熟练的朋友来找到答案。

  7. 如果您是程序员,请尝试通过阅读源代码来找到答案。

当你问你的问题时,展示你首先做了这些事情的事实;这将有助于确定您不是懒惰的海绵并浪费人们的时间。更好的是,展示你 从做这些事情中学到的东西。我们喜欢为那些已经证明他们可以从答案中学习的人回答问题。

使用诸如对收到的任何错误消息的文本进行谷歌搜索(搜索谷歌群组和网页)等策略。这很可能会带您直接修复文档或回答您的问题的邮件列表线程。即使没有,在电子邮件或新闻发布请求帮助时说“我用谷歌搜索了以下短语,但没有得到任何看起来有希望的东西”是一件好事,如果只是因为它记录了哪些搜索不会'没有帮助。通过将搜索词链接到希望成为您的问题和解决方案的线程,它还有助于将其他有类似问题的人引导到您的线程。

慢慢来。不要指望用几秒钟的谷歌搜索就能解决一个复杂的问题。阅读并理解常见问题解答,坐下来放松一下,在与专家联系之前对问题进行一些思考。相信我们,他们将能够从您的问题中看出您做了多少阅读和思考,如果您做好准备,他们会更愿意提供帮助。不要仅仅因为你的第一次搜索没有答案(或太多)就立即解雇你的整个问题。

准备你的问题。想清楚。听起来仓促的问题得到仓促的答案,或者根本没有。你做的越多来证明在寻求帮助之前已经投入思想和努力来解决你的问题,你就越有可能真正得到帮助。

谨防问错问题。如果你问一个基于错误假设的问题,J. Random Hacker 很可能会在思考“愚蠢的问题...... ”时给出一个无用的字面答案,并希望得到你所要求的而不是你需要的经验会给你一个教训。

永远不要假设您有权获得答案。你不是; 毕竟,您并没有为服务付费。如果你得到答案,你就会得到答案,方法是提出一个实质性的、有趣的和发人深省的问题——一个隐含地有助于社区体验的问题,而不仅仅是被动地向他人索取知识。

另一方面,明确表明您有能力并且愿意在开发解决方案的过程中提供帮助是一个非常好的开始。“有人能指点一下吗?”、“我的例子缺少什么?”和“我应该检查哪个网站?”比“请张贴我应该使用的确切程序”更有可能得到回答。” 因为你明确表示如果有人能指出你正确的方向,你真的愿意完成这个过程。

当你问

谨慎选择您的论坛

在选择提问的地方时要敏感。如果您:

  • 将您的问题发布到与主题无关的论坛

  • 将一个非常基本的问题发布到需要高级技术问题的论坛,反之亦然

  • 交叉发布到太多不同的新闻组

  • 将个人电子邮件发送给既不是您的熟人也不是个人负责解决您的问题的人

为了保护他们的沟通渠道不被无关紧要的内容淹没,黑客会吹嘘那些针对性不强的问题。你不希望这发生在你身上。

因此,第一步是找到合适的论坛。同样,谷歌和其他网络搜索方法是你的朋友。使用它们来查找与给您带来困难的硬件或软件最密切相关的项目网页。通常它会有一个FAQ(常见问题)列表的链接,以及项目邮件列表及其档案的链接。如果您自己的努力(包括阅读 您找到的那些常见问题解答)没有找到解决方案,这些邮件列表是寻求帮助的最后地方。项目页面还可以描述错误报告程序,或者有一个链接;如果是这样,请遵循它。

向您不熟悉的人或论坛发送电子邮件充其量是有风险的。例如,不要假设信息网页的作者想成为您的免费顾问。不要乐观地猜测您的问题是否会受到欢迎——如果您不确定,请将其发送到其他地方,或者根本不发送。

在选择网络论坛、新闻组或邮件列表时,不要过于相信名称本身;查找常见问题解答或章程以验证您的问题是否切题。在发布之前阅读一些反向流量,以便您了解那里的事情是如何完成的。事实上,在发布之前,在新闻组或邮件列表档案中对与您的问题相关的词进行关键字搜索是一个非常好的主意。它可能会为您找到答案,如果没有,它将帮助您提出更好的问题。

不要一次炮轰所有可用的帮助渠道,这就像大喊大叫,会激怒人们。轻轻地穿过它们。

知道你的主题是什么!一个典型的错误是在一个专门讨论一种语言或库或工具的论坛中询问有关 Unix 或 Windows 编程接口的问题,这些问题可在两者之间移植。如果你不明白为什么这是一个错误,你最好不要问任何问题,直到你得到它。

一般来说,向精心挑选的公共论坛提出的问题比向私人论坛提出的同等问题更有可能得到有用的答案。这有多种原因。一是潜在受访者群体的规模。另一个是观众的规模;与只为少数人服务的问题相比,黑客更愿意回答能教育很多人的问题。

可以理解的是,熟练的黑客和流行软件的作者已经收到了超过他们公平份额的错误定位信息。通过增加洪水,在极端情况下,你甚至可能成为压死骆驼的最后一根稻草——有好几次,热门项目的贡献者已经撤回了他们的支持,因为他们个人账户的无用电子邮件流量形式的附带损害变得无法忍受。

堆栈溢出

搜索,然后在 Stack Exchange 上提问

近年来,Stack Exchange 网站社区已成为回答技术和其他问题的主要资源,甚至是许多开源项目的首选论坛。

在查看 Stack Exchange 之前先使用 Google 搜索;谷歌实时索引它。很有可能有人已经问过类似的问题,并且 Stack Exchange 站点通常位于搜索结果的顶部附近。如果您没有通过 Google 找到任何内容,请在与您的问题最相关的特定网站上再次搜索(见下文)。使用标签搜索可以帮助缩小结果范围。

如果您仍然没有找到任何内容,请将您的问题发布在 热门的网站上。使用格式化工具,尤其是代码,并添加与您的问题内容相关的标签(特别是您遇到问题的编程语言、操作系统或库的名称)。如果评论者要求您提供更多信息,请编辑您的主要帖子以包含它。如果任何答案有帮助,请单击向上箭头进行投票;如果答案可以解决您的问题,请单击投票箭头下的复选以接受它为正确的。

Stack Exchange 已发展到100 多个站点,但以下是最有可能的候选者:

  • 超级用户是针对通用计算的问题。如果您的问题不是关于您仅通过网络连接与之交谈的代码或程序,那么它可能就在这里。

  • Stack Overflow 是针对编程问题的。

  • 服务器故障是关于服务器和网络管理的问题。

几个项目都有自己的特定站点,包括 Android、Ubuntu、TeX/LaTeX 和 SharePoint。检查 Stack Exchange 站点以获取最新列表。

网络和 IRC 论坛

您的本地用户组或您的 Linux 发行版可能会宣传 Web 论坛或 IRC 频道,新手可以在其中获得帮助。(在非英语国家,新手论坛仍然更有可能是邮件列表。)这些是很好的第一个提问地点,特别是如果您认为您可能遇到了一个相对简单或常见的问题。一个广告的 IRC 频道是一个公开的邀请,可以在那里提问并经常得到实时的答案。

事实上,如果您从 Linux 发行版中获得了给您带来问题的程序(今天很常见),那么在尝试该程序的项目论坛/列表之前,最好在发行版的论坛/列表中询问。该项目的黑客可能只是说,“使用我们的 构建”。

在发布到任何网络论坛之前,请检查它是否具有搜索功能。如果是这样,请尝试几个关键字搜索来搜索您的问题;它可能会有所帮助。如果您之前进行过一般的网络搜索(您应该这样做过),无论如何都要搜索论坛;您的网络范围内的搜索引擎最近可能没有将该论坛的所有内容都编入索引。

越来越多的项目倾向于通过 Web 论坛或 IRC 频道提供用户支持,电子邮件更多地保留用于开发流量。因此,在寻求特定项目的帮助时,首先要寻找这些渠道。

在 IRC 中,最好不要首先在频道上转储很长的问题描述;有些人将此解释为渠道泛滥。最好以一种在频道上开始对话的方式说出一个单行的问题描述。

第二步,使用项目邮件列表

当一个项目有一个开发邮件列表时,请写信给邮件列表,而不是给单个开发人员,即使你相信你知道谁可以最好地回答你的问题。检查项目的文档及其主页以获取项目邮件列表的地址,并使用它。这项政策有几个很好的理由:

  • 任何足以向一位开发人员提出的问题也将对整个团队有价值。相反,如果你怀疑你的问题对于邮件列表来说太愚蠢了,这不是骚扰个别开发人员的借口。

  • 在列表中提出问题会分散开发人员的负担。单个开发人员(尤其是如果他是项目负责人)可能太忙而无法回答您的问题。

  • 大多数邮件列表都被存档,并且档案被搜索引擎索引。如果您在列表中提出问题并且得到了回答,那么未来的提问者可以在网上找到您的问题和答案,而不是再次询问。

  • 如果发现某些问题经常被问到,开发人员可以使用该信息来改进文档或软件本身,以减少混乱。但是,如果这些问题是私下提出的,没有人能完全了解最常问的问题。

如果一个项目同时有一个“用户”和一个 “开发者”(或“黑客”)邮件列表或网络论坛,并且您没有对代码进行黑客攻击,请在 “用户”列表/论坛中询问。不要假设您会在开发人员列表中受到欢迎,因为他们可能会将您的问题视为干扰他们的开发人员流量的噪音。

但是,如果您确定您的问题很重要,并且您在“用户” 列表/论坛中几天没有得到答案,请尝试“开发人员”。建议您在那里潜伏几天或至少查看存档消息的最后几天,以在发布之前了解当地的民俗(实际上,这对任何私人或半私人名单都是很好的建议)。

如果您找不到项目的邮件列表地址,而只能看到项目维护者的地址,请继续写信给维护者。但即使在这种情况下,也不要假设邮件列表不存在。在您的电子邮件中提及您尝试过但找不到合适的邮件列表。还要提到您不反对将您的消息转发给其他人。(许多人认为私人电子邮件应该保持私密,即使其中没​​有任何秘密。通过允许您的邮件被转发,您可以让您的通讯员选择如何处理您的电子邮件。)

使用有意义的特定主题标题

在邮件列表、新闻组或网络论坛上,主题标题是您吸引合格专家注意的绝佳机会,字数不超过 50 个字符。不要把它浪费在诸如 “请帮助我”之类的胡说八道上(更不用说“请帮助我!!!! ”;带有此类主题的消息会被反射丢弃)。不要试图用你痛苦的深度来给我们留下深刻印象;使用空间来进行超级简洁的问题描述。

许多技术支持组织使用的主题标题的一个很好的约定是“对象偏差”。“ 对象”部分指定了哪些事物或一组事物存在问题,而“偏差”部分描述了与预期行为的偏差。

愚蠢的:

帮助!视频在我的笔记本电脑上无法正常播放!

聪明的:

X.org 6.8.1 变形鼠标光标,Fooware MV1005 vid。芯片组

更智能:

Fooware MV1005 vid 上的 X.org 6.8.1 鼠标光标。芯片组 - 畸形

编写“对象偏差” 描述的过程将帮助您更详细地组织您对问题的思考。有什么影响?只是鼠标光标或其他图形?这是特定于 X.org 版本的 X 吗?到版本 6.8.1?这是 Fooware 视频芯片组特有的吗?为 MV1005 建模?看到结果的黑客可以立即了解您遇到的问题以及您遇到的问题,一目了然。

更一般地,想象一下只显示主题行的问题存档索引。使您的主题行充分反映您的问题,以便下一个搜索与您类似的问题的档案的人将能够按照该线程找到答案,而不是再次发布问题。

如果您在回复中提出问题,请务必更改主题行以表明您正在提出问题。看起来像“ Re: test ”或“ Re: new bug ”的主题行不太可能吸引有用的注意力。此外,将先前消息的引用减少到与新读者的线索一致的最低限度。

不要简单地点击回复列表消息来启动一个全新的线程。这将限制您的观众。一些邮件阅读器,比如 mutt,允许用户按线程排序,然后通过折叠线程来隐藏线程中的消息。这样做的人永远不会看到你的信息。

改变主题是不够的。Mutt 和可能的其他邮件阅读器会查看电子邮件标题中的其他信息以将其分配给线程,而不是主题行。而是开始一封全新的电子邮件。

在网络论坛上,良好实践的规则略有不同,因为消息通常与特定讨论线程绑定得更紧密,并且通常在这些线程之外是不可见的。在回答问题时改变主题并不是必要的。并非所有论坛甚至都允许在回复中使用单独的主题行,而且几乎没有人在回复时阅读它们。但是,在回复中提出问题本身就是一种可疑的做法,因为它只会被观看此帖子的人看到。因此,除非您确定 只想询问当前在线程中活跃的人,否则请开始一个新的。

方便回复

用“请将您的回复发送到... ”来完成您的查询,这使您不太可能得到答案。如果您甚至不愿意花几秒钟在您的邮件代理中设置正确的回复标头,那么我们甚至不会花几秒钟来考虑您的问题。如果您的邮件程序不允许这样做,请获取更好的邮件程序。如果您的操作系统不支持任何允许这样做的电子邮件程序,请使用更好的操作系统。

在网络论坛中,通过电子邮件要求回复是完全不礼貌的,除非您认为该信息可能是敏感的(并且有人会出于某种未知原因让您而不是整个论坛都知道)。如果有人在线程中回复时您想要电子邮件副本,请请求网络论坛发送它;在“观看此线程”、 “在回答时发送电子邮件”等选项下,几乎所有地方都支持此功能。

用清晰、语法、拼写正确的语言书写

我们根据经验发现,粗心大意的作家通常在思考和编码方面也粗心大意(通常足以打赌,无论如何)。为粗心和草率的思考者回答问题是没有回报的;我们宁愿把时间花在别处。

因此,清楚而准确地表达您的问题很重要。如果你懒得去做,我们也懒得去关注。花额外的精力来润色你的语言。它不一定是僵硬或正式的——事实上,黑客文化重视精确使用的非正式、俚语和幽默的语言。但它必须精确的;必须有一些迹象表明你正在思考和关注。

正确拼写、标点和大写。不要将 “ it 's ”与“ it's ”、“ loose ”与 “ loose ”、“ discrete ”与 “ discreet ”混淆。不要全部输入大写;这被解读为大喊大叫,被认为是粗鲁的。(All-smalls 只是稍微不那么烦人,因为它很难阅读。Alan Cox 可以摆脱它,但你不能。)

更一般地说,如果你写得像一个半文盲的笨蛋,你很可能会被忽视。所以不要使用即时通讯快捷方式。将“you”拼写为“u”让你看起来像一个半文盲的胸部,可以节省两次完整的击键。更糟糕的是:像 l33t 脚本 Kiddie hax0r 一样写作是绝对的死亡之吻,并保证您将得到的只是僵硬的沉默(或者,充其量是一堆轻蔑和讽刺的帮助)作为回报。

如果您在不使用您的母语的论坛上提问,您将在拼写和语法错误方面获得有限的松弛度——但对于懒惰则完全没有额外的松弛度(是的,我们通常可以发现这种差异)。此外,除非您知道您的受访者的语言是什么,否则请用英语书写。忙碌的黑客倾向于简单地用他们不懂的语言提出问题,而英语是互联网的工作语言。通过用英语写作,您可以最大限度地减少您的问题被丢弃未读的机会。

如果您正在用英语写作,但它是您的第二语言,那么提醒潜在的受访者注意潜在的语言困难和绕过它们的选择是一种很好的形式。例子:

  • 英语不是我的母语;请原谅打字错误。

  • 如果你说 $LANGUAGE,请发邮件/PM我;我可能需要帮助翻译我的问题。

  • 我熟悉专业术语,但有些俚语和成语对我来说很难。

  • 我已经用 $LANGUAGE 和英语发布了我的问题。如果您只使用其中一个,我会很乐意翻译回复。

以可访问的标准格式发送问题

如果您人为地使您的问题难以阅读,那么它更有可能被忽略而有利于一个不是。所以:

  • 发送纯文本邮件,而不是 HTML。(关闭 HTML并不难。)

  • MIME 附件通常是可以的,但前提是它们是真实内容(例如附加的源文件或补丁),而不仅仅是邮件客户端生成的样板文件(例如邮件的另一个副本)。

  • 不要发送整个段落都是单个多重换行的电子邮件。(这使得只回复部分消息变得太困难了。)假设您的受访者将在 80 个字符宽的文本显示器上阅读邮件,并相应地将您的换行设置为小于 80 个字符。

  • 但是,不要任何固定的列宽包装数据(例如日志文件转储或会话记录)。应按原样包含数据,以便受访者确信他们看到了您所看到的。

  • 不要将 MIME Quoted-Printable 编码发送到英语论坛。当您使用 ASCII 未涵盖的语言发帖时,可能需要此编码,但许多电子邮件代理不支持它。当它们中断时,散布在文本中的所有 =20 字形都很难看,而且会分散注意力——或者可能会主动破坏文本的语义。

  • 永远不要期望黑客能够阅读封闭的专有文档格式,例如 Microsoft Word 或 Excel。大多数黑客对这些的反应,就像你对一堆热气腾腾的猪粪倒在你家门口一样。即使他们可以应付,他们也讨厌不得不这样做。

  • 如果您从 Windows 机器发送电子邮件,请关闭 Microsoft 有问题的“智能引号”功能(从“工具”>“自动更正选项”中,清除“键入时自动套用格式”下的智能引号复选框。)。这样您就可以避免在邮件中散布垃圾字符。

  • 在网络论坛中,不要滥用“笑脸”和 “ HTML ”功能(当它们存在时)。一两个笑脸通常是可以的,但彩色花哨的文字往往会让人们认为你很蹩脚。严重过度使用笑脸、颜色和字体会让你看起来像一个咯咯笑的少女,这通常不是一个好主意,除非你对性比对答案更感兴趣。

如果您使用的是图形用户界面邮件客户端,例如 Netscape Messenger、MS Outlook 或它们的同类产品,请注意它在使用默认设置时可能会违反这些规则。大多数这样的客户端都有一个基于菜单的“查看源代码”命令。在您的已发送邮件文件夹中使用它,验证发送纯文本时没有不必要的附加内容。

准确并提供有关您的问题的信息

  • 仔细、清楚地描述您的问题或错误的症状。

  • 描述它发生的环境(机器、操作系统、应用程序等)。提供您的供应商的分发和发布级别(例如:“ Fedora Core 7 ”、“ Slackware 9.1 ”等)。

  • 描述您在提出问题之前为尝试理解问题所做的研究。

  • 在您提出问题之前,请描述您为尝试自己确定问题而采取的诊断步骤。

  • 描述您的计算机或软件配置中任何可能相关的近期变化。

  • 如果可能的话,提供一种在受控环境中重现问题的方法

尽你所能预测黑客会问的问题,并在你请求帮助时提前回答。

如果您要报告您认为是代码中的错误的事情,那么让黑客能够在受控环境中重现问题尤其重要。当您这样做时,您获得有用答案的几率和您可能获得该答案的速度都会大大提高。

Simon Tatham 写了一篇出色的文章,题为如何有效地报告错误。我强烈建议您阅读它。

体积不精确

你需要准确和信息丰富。简单地将大量代码或数据转储到帮助请求中并不能达到此目的。如果您有一个大而复杂的测试用例正在破坏程序,请尝试对其进行修剪并使其尽可能小。

这至少出于三个原因很有用。一:被视为在简化问题上投入的精力使您更有可能得到答案,二:简化问题使您更有可能得到有用的答案。三:在完善你的错误报告的过程中,你可以自己开发一个修复或解决方法。

不要急于声称你发现了一个错误

当您在使用某个软件时遇到问题时,除非您非常 非常确定自己的立场,否则不要声称您发现了错误。提示:除非您可以提供修复问题的源代码补丁,或者针对显示错误行为的先前版本进行回归测试,否则您可能不够确定。这也适用于网页和文档;如果你发现了一个文档 “ bug ”,你应该提供替换文本以及它应该继续的页面。

请记住,还有许多其他用户没有遇到您的问题。否则,您会在阅读文档和搜索 Web 时了解它(在抱怨之前您已经这样做了,不是吗?)。这意味着很可能是您做错了什么,而不是软件。

编写软件的人非常努力地工作,以使其尽可能好地工作。如果你声称你发现了一个错误,你就会质疑他们的能力,即使你是正确的,这也可能会冒犯他们中的一些人。 在主题行中大喊“ bug ”尤其不礼貌。

当问你的问题时,最好写得好像你假设做错了什么,即使你私下很确定你发现了一个实际的错误。如果确实存在错误,您将在答案中听到。如果错误是真实的,那么维护人员会想向你道歉,而不是如果你搞砸了你就应该向他们道歉。

卑躬屈膝不能代替做功课

有些人明白了他们不应该表现得粗鲁或傲慢,要求回答,就会退回到卑躬屈膝的相反极端。 “我知道我只是一个可怜的新手失败者,但是…… ”。这是分心和无益的。当它与对实际问题的模糊性结合在一起时,尤其令人讨厌。

不要把你或我们的时间浪费在原始的灵长类政治上。相反,尽可能清楚地呈现背景事实和您的问题。与卑躬屈膝相比,这是一种更好的定位自己的方式。

有时网络论坛有单独的地方供新手提问。如果你觉得你确实有一个新手问题,那就去那里。但也不要在那里卑躬屈膝。

描述问题的症状,而不是你的猜测

告诉黑客你认为是什么导致了你的问题是没有用的。(如果您的诊断理论如此热门,您会向其他人寻求帮助吗?)因此,请确保您告诉他们问题的原始症状,而不是您的解释和理论。让他们做解释和诊断。如果您觉得陈述您的猜测很重要,请清楚地将其标记为这样,并描述为什么该答案不适合您。

愚蠢的:

我在内核编译时遇到了连续的 SIG11 错误,并且怀疑其中一个主板痕迹上有细线裂纹。检查这些的最佳方法是什么?

聪明的:

我在带有 256MB Corsair PC133 SDRAM 的 FIC-PA2007 主板(VIA Apollo VP2 芯片组)上自制的 K6/233 在内核编译过程中开机后约 20 分钟开始出现频繁的 SIG11 错误,但在前 20 分钟内从未出现过. 重新启动不会重新启动时钟,但会在一夜之间断电。交换所有 RAM 没有帮助。典型编译会话日志的相关部分如下。

由于前一点对于许多人来说似乎很难理解,所以这里有一句话提醒您:“所有诊断师都来自密苏里州。” 美国那个州的官方座右铭是“给我看”(1899 年获得,当时国会议员威拉德 D. 范迪弗说:“我来自一个种植玉米、棉花、苍耳和民主党的国家,而浮夸的口才既不能说服我,也不能满足我。我是来自密苏里州。你必须给我看。”)在诊断学家的案例中,这不是怀疑的问题,而是一种文字的、功能性的需要,即尽可能接近你所看到的相同原始证据,而不是比你的猜测和总结。给我们看一看。

按时间顺序描述您的问题症状

找出问题最有用的线索通常在于之前发生的事件。因此,您的帐户应该准确地描述您做了什么,以及机器和软件做了什么,导致了爆炸。在命令行进程的情况下,拥有一个会话日志(例如,使用脚本实用程序)并引用相关的大约 20 行是非常有用的。

如果让您崩溃的程序有诊断选项(例如 -v 表示详细),请尝试选择可以将有用的调试信息添加到脚本的选项。请记住,更多不一定更好;尝试选择一个能够通知而不是让读者陷入垃圾的调试级别。

如果您的帐户最终很长(超过大约四个段落),那么在顶部简洁地陈述问题可能会很有用,然后按照时间顺序讲述。这样,黑客就会知道在阅读您的帐户时要注意什么。

描述目标,而不是步骤

如果您试图找出如何做某事(而不是报告错误),请从描述目标开始。然后才描述你被阻止的特定步骤。

通常,需要技术帮助的人心中有一个高层次的目标,并被困在他们认为是实现目标的特定路径上。他们来寻求帮助,但没有意识到路径是错误的。要克服这一点可能需要付出巨大的努力。

愚蠢的:

如何让 FooDraw 程序上的颜色选择器获取十六进制 RGB 值?

聪明的:

我正在尝试用我选择的值替换图像上的颜色表。现在我能看到的唯一方法是编辑每个表格槽,但我无法让 FooDraw 的颜色选择器获取十六进制 RGB 值。

问题的第二个版本很聪明。它允许给出更适合该任务的工具的答案。

不要要求人们通过私人电子邮件回复

黑客认为,解决问题应该是一个公开、透明的过程,在此过程中,如果更有知识的人注意到答案不完整或不正确,则可以而且应该纠正第一次尝试的答案。此外,帮助者从被同龄人视为有能力和知识渊博的受访者中获得一些奖励。

当您要求私下回复时,您正在破坏过程和奖励。不要这样做。是否私下回复是 受访者的选择——如果他或她这样做,通常是因为他或她认为这个问题太不正确或太明显而无法引起其他人的兴趣。

这条规则有一个有限的例外。如果你认为这个问题很可能会得到许多非常相似的答案,那么神奇的词是“给我发电子邮件,我会为小组总结答案”。尝试在邮件列表或新闻组中保存大量相同的帖子是很有礼貌的——但你必须信守总结的承诺。

明确你的问题

开放式问题往往被视为开放式时间槽。那些最有可能给你一个有用的答案的人也是最忙的人(如果只是因为他们自己承担了最多的工作)。这样的人对开放式时间槽过敏,因此他们往往对开放式问题过敏。

如果您明确说明您希望受访者做什么(提供指示、发送代码、检查您的补丁等),您更有可能得到有用的回复。这将集中他们的努力,并隐含地为受访者分配帮助您的时间和精力设定上限。这很好。

要了解专家所生活的世界,请将专业知识视为丰富的资源,将响应时间视为稀缺资源。你隐含地要求的时间承诺越少,你就越有可能从一个非常好的和非常忙碌的人那里得到答案。

因此,构建您的问题以最大限度地减少专家解决问题所需的时间是很有用的——但这通常与简化问题不同。因此,例如,“你能给我一个关于 X 的好的解释的指针吗?”通常比“你能解释一下 X,好吗?”。如果您有一些故障代码,通常要求某人解释它的问题比要求某人修复它更聪明。

在询问代码时

不要在没有提示他们应该寻找什么样的问题的情况下要求其他人调试您损坏的代码。发布几百行代码,说“它不起作用”,会让你被忽视。发布十几行代码,说“在第 7 行之后,我希望看到 <x>,但发生了 <y>”更有可能得到您的回应。

准确了解代码问题的最有效方法是提供最小的错误演示测试用例。什么是最小测试用例?这是问题的说明;只是足够的代码来展示不良行为,仅此而已。你如何做一个最小的测试用例?如果您知道代码的哪一行或哪一段产生了有问题的行为,请复制它并添加足够的支持代码以生成完整的示例(即足以让编译器/解释器/任何应用程序处理它的源代码都可以接受) . 如果您无法将其缩小到特定部分,请复制源并开始删除不影响问题行为的块。您的最小测试用例越小越好(参见“体积不是精度”一节)。

生成一个非常小的最小测试用例并不总是可能的,但尝试是很好的纪律。它可以帮助您了解自己解决问题所需的条件——即使没有,黑客也喜欢看到您已经尝试过。这将使他们更加合作。

如果您只是想进行代码审查,请提前说明,并确保提及您认为可能特别需要审查的领域以及原因。

不要发布家庭作业问题

黑客善于发现作业问题;我们大多数人都是自己做过的。这些问题是由 来解决的,这样你就可以从经验中学习。可以寻求提示,但不能寻求完整的解决方案。

如果您怀疑您已经通过了作业问题,但无论如何都无法解决,请尝试在用户组论坛或(作为最后手段)在项目的“用户”列表/论坛中提问。虽然黑客发现它,但一些高级用户可能至少会给你一个提示。

修剪无意义的查询

抵制用语义空的问题关闭您的帮助请求的诱惑,例如“有人可以帮助我吗?”或 “有答案吗?”首先:如果你的问题描述写得还算称职,那么这些附加的问题充其量是多余的。第二:因为它们是多余的,黑客会觉得它们很烦人——并且可能会返回逻辑上无可挑剔但不屑一顾的答案,例如“是的,你可以得到帮助”和“不,对你没有帮助”。”

一般来说,避免问是或否的问题是一件好事,除非你想要一个是或否的答案。

不要将你的问题标记为“紧急”,即使它是给你的

那是你的问题,不是我们的。声称紧迫性很可能会适得其反:大多数黑客会简单地删除诸如粗鲁和自私的尝试这样的消息,以引起立即和特别的关注。此外,“紧急”一词(以及在主题行中引起注意的其他类似尝试)经常会触发垃圾邮件过滤器 - 您的预期收件人可能根本看不到它!

有一个半例外。值得一提的是,如果您在某个高调的地方使用该程序,黑客会对此感到兴奋;在这种情况下,如果你有时间压力,而且你说得这么客气,人们可能会产生足够的兴趣来更快地回答。

然而,这是一件非常冒险的事情,因为黑客对令人兴奋的事情的衡量标准可能与您的不同。例如,从国际空间站发帖是合格的,但代表感觉良好的慈善或政治事业发帖几乎肯定不会。事实上,发布“紧急:帮我拯救模糊的婴儿海豹!“即使是认为模糊的小海豹很重要的黑客,也会让你回避或攻击你。

如果您觉得这很神秘,请反复阅读本指南的其余部分,直到您理解它,然后再发布任何内容。

礼貌永远不会伤害,有时会有所帮助

要有礼貌。使用“请”和“感谢您的关注”或“感谢您的考虑”。明确表示您感谢人们花时间免费帮助您。

老实说,这不如(也不能替代)语法、清晰、精确和描述性、避免专有格式等重要;一般来说,黑客宁愿得到一些粗暴但技术上尖锐的错误报告,而不是礼貌的含糊不清。(如果这让你感到困惑,请记住,我们重视一个问题,它教给我们的东西。)

但是,如果您连续使用技术鸭子,礼貌确实会增加您获得有用答案的机会。

(我们必须注意,我们从资深黑客那里收到的对本 HOWTO 的唯一严重反对意见是关于我们之前使用“提前致谢”的建议。一些黑客认为这意味着以后不感谢任何人的意图。我们的建议是或者先 说“提前谢谢” ,然后再感谢受访者,或者以不同的方式表达礼貌,例如说“感谢您的关注”或“感谢您的考虑”。)

跟进解决方案的简短说明

问题解决后给所有帮助过你的人发个便条;让他们知道结果如何,并再次感谢他们的帮助。如果问题在邮件列表或新闻组中引起了普遍的兴趣,那么在此处发布后续内容是合适的。

最佳情况下,回复应该是由原始问题发布开始的线程,并且应该在主题行中有“已修复”、“已解决”或同样明显的标签。在快速周转的邮件列表中,看到以“问题 X - 已修复”结尾的关于“问题 X ”的帖子的潜在受访者知道即使阅读帖子也不会浪费他/她的时间(除非他个人觉得问题 X 有趣),因此可以利用这段时间解决不同的问题。

您的跟进不必很长时间和参与;一个简单的 “你好——这是一根故障的网线!感谢大家。- 比尔”总比没有好。事实上,除非解决方案具有真正的技术深度,否则简短的总结总比长篇论文要好。说出解决问题的措施,但您无需重播整个故障排除序列。

对于有一定深度的问题,发布故障排除历史摘要是适当的。描述你的最终问题陈述。描述什么是有效的解决方案,然后指出可避免的死胡同。死胡同应该在正确的解决方案和其他总结材料之后出现,而不是把后续变成侦探故事。说出帮助过你的人的名字;你会这样交朋友的。

除了礼貌和信息丰富之外,这种跟进将帮助其他人搜索邮件列表/新闻组/论坛的存档,以准确了解哪种解决方案对您有帮助,因此也可能对他们有所帮助。

最后,同样重要的是,这种跟进可以帮助每个帮助过的人对问题感到满意的结束感。如果您自己不是技术人员或黑客,请相信我们,这种感觉对于您寻求帮助的专家和专家非常重要。逐渐变成未解决的虚无的问题叙述令人沮丧。黑客渴望看到它们得到解决。下一次你需要提出问题时,挠痒痒为你赢得的善意对你非常非常有帮助。

考虑一下你如何能够防止其他人在未来遇到同样的问题。问问自己,文档或常见问题解答补丁是否会有所帮助,如果答案是肯定的,请将该补丁发送给维护者。

在黑客中,这种良好的跟进行为实际上比传统的礼貌更为重要。这是你如何获得与他人相处融洽的声誉的方式,这可能是一项非常宝贵的资产。

如何解释答案

RTFM 和 STFW:如何判断你已经严重搞砸了

有一个古老而神圣的传统:如果你收到一个“ RTFM ”的回复,发送它的人会认为你应该阅读该死的手册。他或她几乎肯定是对的。去读吧。

RTFM有一个年轻的亲戚。如果您收到的回复内容为 “ STFW ”,则发送该回复的人认为您应该搜索该死的网络。他或她几乎肯定是对的。去搜一下。(更温和的版本是当你被告知“谷歌是你的朋友! ”)

在网络论坛中,您可能还会被告知搜索论坛档案。事实上,有人甚至可能会提供一个指向解决此问题的上一个线程的指针。但不要依赖这种考虑;在询问之前进行档案搜索。

通常,告诉您进行搜索的人会打开包含您需要的信息的手册或网页,并在他或她键入时查看它。这些回复意味着响应者认为(a)您需要的信息很容易找到,并且(b)如果您寻找信息,您将学到更多,而不是用勺子喂给您。

你不应该被冒犯;按照黑客的标准,你的受访者只是通过不忽视你来表现出一种粗略的尊重。相反,您应该感谢这种祖母般的善良。

如果你不明白...

如果您不理解答案,请不要立即反弹要求澄清。使用您用来尝试回答原始问题的相同工具(手册、常见问题解答、网络、熟练的朋友)来理解答案。然后,如果您仍然需要要求澄清,请展示您所学到的知识。

例如,假设我告诉你:“听起来你的 zentry 卡住了;你需要清除它。”然后:这是一个 糟糕的后续问题:“什么是 zentry?”这是一个很好的后续问题:“好的,我阅读了手册页,并且 zentries 仅在 -z 和 -p 开关下提及。他们都没有说任何关于清除 zentries 的事情。是其中之一还是我在这里遗漏了什么?”

处理粗鲁

在黑客圈子里,很多看起来粗鲁的行为并不是为了冒犯。相反,它是直接、直截了当的沟通方式的产物,对于那些更关心解决问题而不是让他人感到温暖和模糊的人来说,这种方式是很自然的。

当你察觉到粗鲁时,试着冷静地做出反应。如果某人真的表现得很糟糕,很可能名单或新闻组或论坛上的资深人士会打电话给他或她。如果这 没有发生并且你发脾气,很可能你发脾气的人的行为符合黑客社区的规范,将被视为有过错。这会损害您获得所需信息或帮助的机会。

另一方面,你偶尔会遇到非常无理的粗鲁和装腔作势。上述情况的另一面是,严厉抨击真正的罪犯是可以接受的,用锋利的口头手术刀剖析他们的不当行为。然而,在你尝试这个之前,要非常非常确定你的立场。纠正不文明行为和发起无意义的激战之间的界限很窄,以至于黑客自己不会经常犯错。如果您是新手或局外人,那么避免此类错误的机会很小。如果你追求的是信息而不是娱乐,最好不要让你的手指离开键盘而不是冒险。

(有些人断言,许多黑客患有轻度自闭症或阿斯伯格综合症,实际上缺少一些润滑“正常”人类社交互动的大脑回路。这可能是真的,也可能不是。如果你自己不是黑客,如果您认为我们是脑损伤的,它可能会帮助您应对我们的怪癖。继续前进。我们不在乎;我们 喜欢做我们自己,并且通常对临床标签持健康的怀疑态度。)

Jeff Bigler 对 tact filters的观察 也很相关,值得一读。

在下一节中,我们将讨论一个不同的问题;当你 行为不端时你会看到的那种“粗鲁” 。

不要像失败者一样做出反应

很有可能你会在黑客社区论坛上搞砸几次——以本文中详述的方式或类似方式。你会被告知你是如何搞砸的,可能还有五颜六色的旁白。在公众场合。

当这种情况发生时,你能做的最糟糕的事情就是抱怨这次经历,声称受到了口头攻击,要求道歉,尖叫,屏住呼吸,威胁诉讼,向雇主抱怨,把马桶座放下等等。相反,这就是你要做的:

克服它。这是正常的。事实上,它是健康和适当的。

社区标准不能自我维护:它们是由人们在公共场合积极应用它们来维护的。不要抱怨所有批评都应该通过私人电子邮件传达:这不是它的工作原理。当有人评论你的某个主张是错误的,或者他的观点不同时,坚持认为你受到了个人侮辱也没有用。这些都是失败者的态度。

曾经有一些黑客论坛,出于某种被误导的过度礼貌,参与者被禁止发布任何对他人帖子的挑剔,并被告知“如果您不愿意帮助用户,请不要说任何话。” 由此导致的有头脑的参与者离开到其他地方,导致他们陷入毫无意义的喋喋不休,变得无用作为技术论坛。

夸张地“友好”(以那种方式)或有用:选择一个。

记住:当那个黑客告诉你你搞砸了,并且(无论多么粗暴地)告诉你不要再犯了,他的行为是出于对(1)你和(2)他的社区的关心。他会更容易忽视你并将你从他的生活中过滤出来。如果你无法感恩,至少有一点尊严,不要抱怨,不要期望仅仅因为你是一个有着戏剧性敏感灵魂和权利妄想的新人,就被当作一个脆弱的娃娃对待.

有时人们会人身攻击你,无缘无故发火等等,即使你没有搞砸(或者只是在他们的想象中搞砸了)。在这种情况下,抱怨是真正搞砸的方式。

这些煽动者要么是毫无头绪但自认为是专家的笨蛋,要么是测试你是否会搞砸的潜在心理学家。其他读者要么忽略它们,要么自己想办法处理它们。喷子的行为给他们自己制造了问题,你不必担心。

也不要让自己卷入一场激烈的战争。大多数火焰最好被忽略——在你检查它们是否真的是火焰之后,而不是指向你搞砸的方式,也不是巧妙地加密你真正问题的答案(这也会发生)。

不要问的问题

以下是一些经典的愚蠢问题,以及当黑客不回答这些问题时他们在想什么。

问:我在哪里可以找到程序或资源 X?

问:我怎样才能用 X 做 Y?

问:如何配置我的 shell 提示符?

问:我可以使用 Bass-o-matic 文件转换器将 AcmeCorp 文档转换为 TeX 文件吗?

问:我的{程序、配置、SQL 语句} 不起作用

问:我的 Windows 机器出现问题。你能帮我吗?

问:我的程序不起作用。我认为系统设施 X 坏了。

问:我在安装 Linux 或 X 时遇到问题。你能帮忙吗?

问:如何破解root/窃取频道操作权限/阅读某人的电子邮件?

问:

我在哪里可以找到程序或资源 X?

A:

我会在同一个地方找到它,傻瓜——在网络搜索的另一端。天哪,难道不是每个人都知道如何使用 谷歌吗?

问:

我怎样才能用 X 做 Y?

A:

如果你想要做 Y,你应该问这个问题,而不是预先假设使用可能不合适的方法。这种形式的问题通常表明一个人不仅对 X 无知,而且对他们正在解决的问题 Y 感到困惑,并且过于关注他们特定情况的细节。通常最好忽略这些人,直到他们更好地定义他们的问题。

问:

如何配置我的 shell 提示符?

A:

如果您足够聪明地提出这个问题,那么您就足够聪明地使用RTFM并找出自己。

问:

我可以使用 Bass-o-matic 文件转换器将 AcmeCorp 文档转换为 TeX 文件吗?

A:

试试看。如果你这样做了,你会 (a) 知道答案,并且 (b) 不要再浪费我的时间了。

问:

我的{程序、配置、SQL 语句} 不起作用

A:

这不是一个问题,我对玩二十个问题来从你身上撬出你的实际问题不感兴趣——我有更好的事情要做。看到这样的事情,我的反应通常是以下之一:

  • 你还有什么要补充的吗?

  • 哦,那太糟糕了,我希望你能解决它。

  • 这跟我有什么关系?

问:

我的 Windows 机器出现问题。你能帮我吗?

A:

是的。扔掉微软的垃圾,安装一个开源操作系统,比如 Linux 或 BSD。

注意:您可以询问与 Windows 机器相关的问题,如果它们是关于具有官方 Windows 版本的程序,或与 Windows 机器(即 Samba)交互的程序。只是不要对问题出在 Windows 而不是程序的答复感到惊讶,因为 Windows 总体上是如此损坏,以至于这种情况经常发生。

问:

我的程序不起作用。我认为系统设施 X 坏了。

A:

虽然您可能是第一个注意到成百上千人大量使用的系统调用和库中存在明显缺陷的人,但您更有可能完全一无所知。非同寻常的主张需要非同寻常的证据;当您提出这样的索赔时,您必须用清晰详尽的失败案例文件来支持它。

问:

我在安装 Linux 或 X 时遇到问题。你能帮忙吗?

A:

不,我需要亲自访问您的机器才能解决此问题。去当地的 Linux 用户组寻求动手帮助。(您可以在此处找到用户组列表。)

注意:如果您在某个特定发行版的论坛或邮件列表上,有关安装 Linux 的问题可能是合适的,而问题出在发行版上;或在本地用户组论坛上。在这种情况下,请务必描述故障的确切细节。但首先要仔细搜索“linux”和 所有可疑的硬件。

问:

如何破解 root/窃取频道操作权限/阅读某人的电子邮件?

A:

你是一个想要做这些事情的低等人,一个要求黑客帮助你的白痴。

好问题和坏问题

最后,我将举例说明如何以聪明的方式提问;关于同一个问题的一对问题,一个以愚蠢的方式问,一个以聪明的方式问。

愚蠢: 我在哪里可以找到关于 Foonly Flurbamatic 的资料?

这个问题只是乞求“STFW”作为答复。

聪明: 我用谷歌试图在网上找到“ Foonly Flurbamatic 2600 ”,但没有找到有用的结果。我可以获得指向此设备上编程信息的指针吗?

这个已经 STFWed 了,听起来可能有一个真正的问题。

愚蠢: 我无法从项目 foo 中获取代码进行编译。为什么它坏了?

询问者假设其他人搞砸了。傲娇的...

智能: 项目 foo 中的代码在 Nulix 6.2 版下无法编译。我已阅读常见问题解答,但其中没有关于 Nulix 相关问题的任何内容。这是我的编译尝试的记录;是我做的吗?

询问者已经指定了环境,阅读了常见问题解答,显示了错误,并且没有假设他的问题是别人的错。这个可能值得关注。

愚蠢: 我的主板有问题。有人可以帮忙吗?

J. Random Hacker 对此的回应很可能是“正确的。你也需要打嗝和换尿布吗?”接着是删除键的一击。

Smart: 我在 S2464 主板上尝试了 X、Y 和 Z。当这不起作用时,我尝试了 A、B 和 C。当我尝试 C 时,请注意奇怪的症状。显然,florbish 正在发出声音,但结果并非人们所期望的那样。Athlon MP 主板上的grommicking 的常见原因是什么?有人对我可以运行更多测试来确定问题有想法吗?

另一方面,这个人似乎值得回答。他/她表现出解决问题的智慧,而不是被动地等待答案从高处落下。

在最后一个问题中,请注意要求“给我一个答案”和“请帮助我弄清楚我可以运行哪些额外的诊断来实现启蒙”之间微妙但重要的区别。”

事实上,最后一个问题的形式与 2001 年 8 月发生在 linux-kernel 邮件列表 (lkml) 上的真实事件密切相关。我(埃里克)是那个时候问这个问题的人。我在 Tyan S2462 主板上看到了神秘的锁定。列表成员提供了我解决它们所需的关键信息。

通过以我的方式提出问题,我给了人们一些可以咀嚼的东西;我让他们参与其中变得容易且有吸引力。我尊重我的同龄人的能力,并邀请他们作为同龄人与我协商。我还通过告诉他们我已经跑过的死胡同来表达对他们时间价值的尊重。

之后,当我感谢大家并评论这个过程的效果如何时,一位 lkml 成员观察到,他认为这不是因为我是那个名单上的“名字”,而是因为我以正确的形式提出了问题。

黑客在某些方面是一种非常无情的精英统治;我确信他是对的,如果我表现得像海绵一样,无论我是谁,我都会被烧死或被忽视。他建议我将整个事件写下来作为对他人的指导,这直接导致了本指南的撰写。

如果你不能得到答案

如果您无法得到答案,请不要认为我们认为我们无法为您提供帮助。有时,被问组的成员可能根本不知道答案。没有回应不等于被忽视,尽管诚然很难从外部发现差异。

一般来说,简单地重新发布您的问题是一个坏主意。这将被视为毫无意义的烦人。要有耐心:回答你的人可能在不同的时区并且睡着了。或者可能是你的问题一开始就不是很好。

您还可以寻求其他帮助资源,这些资源通常更适合新手的需求。

有许多在线和本地用户群体是该软件的爱好者,尽管他们自己可能从未编写过任何软件。这些小组通常形成,以便人们可以互相帮助并帮助新用户。

您还可以与许多大型和小型商业公司签订合同以寻求帮助。不要对不得不为一点帮助付费的想法感到沮丧!毕竟,如果您的汽车发动机损坏了气缸垫,您很可能会将其带到维修店并付费修理。即使该软件没有花费您任何费用,您也不能指望这种支持总是免费的。

对于像 Linux 这样的流行软件,每个开发人员至少有 10,000 个用户。一个人不可能处理来自超过 10,000 个用户的支持电话。请记住,即使您必须为支持付费,您所支付的费用仍然比您必须购买软件时要少得多(并且对闭源软件的支持通常比对开源软件的支持更昂贵且能力更差) .

如何以有用的方式回答问题

要温柔。与问题相关的压力会让人们显得粗鲁或愚蠢,即使他们不是。

离线回复初犯。对于可能犯了诚实错误的人,没有必要公开羞辱。真正的新手可能不知道如何搜索档案或常见问题解答的存储或发布位置。

如果您不确定,请说出来!一个错误但听起来很权威的答案比没有更糟糕。不要仅仅因为听起来像专家很有趣就将任何人引向错误的道路。谦虚诚实;为提问者和你的同龄人树立一个好榜样。

如果你不能帮助,不要阻碍。不要拿可能破坏用户设置的程序开玩笑——可怜的 sap 可能会将这些解释为说明。

提出探索性问题以获取更多细节。如果你擅长这个,提问者会学到一些东西——你也可以。试着把坏问题变成好问题;请记住,我们曾经都是新手。

虽然在回复只是懒惰的人时喃喃自语 RTFM 有时是合理的,但指向文档的指针(即使它只是向谷歌提供关键词的建议)更好。

如果您要完全回答这个问题,请给出良好的价值。当有人使用错误的工具或方法时,不要建议笨拙的解决方法。推荐好的工具。重新构建问题。

回答实际问题!如果询问者已经彻底地进行了他或她的研究,并且在询问中包含了 X、Y、Z、A、B 和 C 已经尝试过但没有好的结果,那么回答“尝试”是非常无益的A 或 B, ”或带有指向仅显示“尝试 X、Y、Z、A、B 或 C。 ”的内容的链接。

帮助您的社区从问题中学习。当你提出一个好问题时,问问自己 “相关文档或常见问题解答必须如何更改才能让没有人再次回答这个问题?”然后将补丁发送给文档维护者。

如果你做了研究来回答这个问题,那就展示你的技能,而不是像你从你的屁股里拿出答案一样写作。回答一个好问题就像给饥饿的人喂一顿饭,但通过实例教他们研究技能就是向他们展示如何终生种植食物。

提问的智慧【原文翻译】相关推荐

  1. 如何理解答案-Leo读提问的智慧(4)

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任.本文地址:http://blog.csdn.net/jobchanceleo/archiv ...

  2. 怎样提问 上 -Leo读提问的智慧 2

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 版权声明 ...

  3. 提问之前我们应该做些什么 -Leo读提问的智慧 1

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任.本文地址:http://blog.csdn.net/jobchanceleo/archiv ...

  4. 怎样提问?(上)-Leo读提问的智慧(2)

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任.本文地址:http://blog.csdn.net/jobchanceleo/archiv ...

  5. 怎样提问?(下)-Leo读提问的智慧(3)

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任.本文地址:http://blog.csdn.net/jobchanceleo/archiv ...

  6. 翻译:How To Ask Questions The Smart Way(提问的智慧)

    提问的智慧 How To Ask Questions The Smart Way Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen 本指南英文 ...

  7. 【转载】提问的智慧(How To Ask Questions The Smart Way)

    提问的智慧 How To Ask Questions The Smart Way Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen 本指南英文 ...

  8. 提问的智慧 - 艾瑞克.史蒂文.雷蒙德(Eric Steven Raymond)

    提问的智慧 艾瑞克.史蒂文.雷蒙德(Eric Steven Raymond) Thyrsus Enterprises <esr@thyrsus.com> 瑞克.莫恩(Rick Moen) ...

  9. 提问的智慧-如何明智到找到想要的答案

    原帖地址:点击这里 艾瑞克.史蒂文.雷蒙德(Eric Steven Raymond) Thyrsus Enterprises <esr@thyrsus.com> 瑞克.莫恩(Rick Mo ...

  10. 程序员提问的智慧(How-To-Ask-Questions-The-Smart-Way)

    提问的智慧 How To Ask Questions The Smart Way Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen 本指南英文 ...

最新文章

  1. RelativeLayout(相对布局)的分析
  2. lodash(一)数组
  3. DrawerLayout侧滑详解
  4. 7-28作业直接刷一下
  5. 13_线性回归分析、线性模型、损失函数、最小二乘法之梯度下降、回归性能评估、sklearn回归评估API、线性回归正规方程,梯度下降API、梯度下降 和 正规方程对比
  6. java链表实现_数据结构——基于java的链表实现(真正理解链表这种数据结构)...
  7. [Trie] Luogu P2992 [USACO08DEC]秘密消息Secret Message
  8. 程序员写了段代码,自称完美! 网友: 我现在还在改你的Bug
  9. Handler 基本用法--线程间传值
  10. php获取其他php文件变量值,php 引入其他文件中的变量
  11. 商务计算机的购置方案,电子采购方案的实施.ppt
  12. 编程语言对比 容器
  13. 批处理只执行第一句,其他的不被执行,怎么办?
  14. 用python智能修复度盘防和谐链接~
  15. Google Chrome谷歌旧版本下载
  16. 多层json字符串转map_java json字符串转map集合递归嵌套
  17. Python基础-计算时间差,时间和,精确到秒,微秒,毫秒
  18. Echarts2 grid属性
  19. 脉歌蓝牙耳机线评测_感受震撼,更贴耳的蓝牙耳机,脉歌MT70让你感受超值音效...
  20. python生成复合饼图

热门文章

  1. 计算机地图制图成图方法,第五章 地图成图方法
  2. 电脑微信双开功能的实现
  3. 合并数组与非合并数组——SystemVerilog
  4. 实用AbstractDTO
  5. 2019原创考研数学基础过关660题(数学二)
  6. app前端html,HTML前端开发App汇总
  7. 计算机丢失msvcr110.dll解决办法
  8. UG NX 12 观察对象显示
  9. 比较不错的Web工作流设计器
  10. 皓量科技再获虎啸奖,持续创造价值彰显技术实力