提问的智慧
前言
- 在学习的过程中,总会遇到一些棘手的问题,不妨就拿软工来说,对于一个小白,看到密密麻麻的各种报错无疑是令人崩溃的。当你需要占用别人的时间进行提问的时候,希望你仔细阅读以下内容,以免造成两人时间和精力的浪费。
- 要知道,没有人有义务帮助你解决你的问题,特别是那些愚蠢的问题,有些时候自己可以先搜一搜查一查,会发现更好更快的解决办法,而不是在原地指望别人来解决你的问题。
- 这是一张提问收费标准,虽然是开玩笑的,但还是希望各位不管是向谁问问题的时候,都能按最高标准,全面清楚的描述你出现的问题,而不是跑过来喊一句“救命啊”。
以下就是 Eric S. Raymond, Rick Moen 所写的《提问的智慧》,本指南英文版版权为他们所有,在这里附上原文网址。
免责声明
许多项目网站在其关于如何获取帮助的章节中链接到本文档。这很好,这是我们的意图 - 但是如果您是为您的项目页面创建此类链接的网站管理员,请在链接通知附近突出显示,表明我们不是您项目的帮助台!
我们以艰难的方式了解到,如果没有这样的通知,我们将一再受到白痴的困扰,他们认为发布这份文件使我们的工作成为解决世界上所有技术问题。
如果您正在阅读本文档,因为您需要帮助,并且您离开时给人的印象是可以直接从本文档的作者那里获得它,那么您就是我们正在谈论的白痴之一。不要问我们问题。我们会忽略你。我们在这里向您展示如何从真正了解您正在处理的软件或硬件的人那里获得帮助,但99.9%的时间都不是我们。除非您确定其中一位作者是您正在处理的内容的专家,否则请不要管我们,每个人都会更开心。
介绍
在黑客世界中,您获得技术问题的答案类型取决于您提出问题的方式以及开发答案的难度。本指南将教您如何以更有可能获得满意答案的方式提出问题。
现在开源的使用已经变得很普遍,你通常可以从其他更有经验的用户那里得到和黑客一样好的答案。这是一件好事;用户往往对新手经常遇到的故障更加宽容。尽管如此,以我们在这里推荐的方式将有经验的用户视为黑客通常是从他们那里获得有用答案的最有效方法。
首先要了解的是,黑客实际上喜欢棘手的问题和关于它们的好的,发人深省的问题。如果我们不这样做,我们就不会在这里。如果您给我们一个有趣的问题,我们将非常感谢您;好的问题是一种刺激和礼物。好的问题有助于我们发展我们的理解,并经常揭示我们可能没有注意到或想到的问题。在黑客中,“好问题!”是一个强烈而真诚的赞美。
尽管如此,黑客仍然以以敌对或傲慢的方式解决简单的问题而闻名。有时看起来我们对新手和无知者本能地粗鲁。但事实并非如此。
毫无歉意地,我们对那些似乎不愿意在提问之前思考或做自己的功课的人充满敌意。像这样的人是时间的沉沦者——他们拿走了没有回馈,他们浪费了我们本可以花在另一个更有趣的问题和另一个更值得回答的人身上的时间。我们称这样的人为“失败者”(由于历史原因,我们有时将其拼写为“lusers”)。
我们意识到,有很多人只想使用我们编写的软件,而对学习技术细节没有兴趣。对于大多数人来说,计算机只是一种工具,一种达到目的的手段;他们有更重要的事情要做,有生活要活。我们承认这一点,并不期望每个人都对让我们着迷的技术问题感兴趣。然而,我们回答问题的风格是为那些确实感兴趣并愿意积极参与解决问题的人而调整的。这不会改变。也不应该这样做。如果是这样,我们在我们最擅长的事情上就会变得不那么有效。
我们(很大程度上)是志愿者。我们从忙碌的生活中抽出时间回答问题,有时我们会不知所措。所以我们无情地过滤。特别是,我们抛弃了那些看起来是失败者的人的问题,以便更有效地将我们的问答时间花在赢家身上。
如果你觉得这种态度令人讨厌,居高临下或傲慢,请检查你的假设。我们并不是要求你对我们真诚——事实上,我们大多数人都希望平等地对待你,并欢迎你加入我们的文化,如果你付出必要的努力来实现这一点。但是,对于我们来说,试图帮助那些不愿意帮助自己的人是没有效率的。无知是可以的;装傻是不行的。
因此,虽然没有必要在技术上有能力引起我们的关注,但有必要表现出那种导致能力的态度 - 警觉,周到,善于观察,愿意成为开发解决方案的积极合作伙伴。如果你不能忍受这种歧视,我们建议你付钱给某人一份商业支持合同,而不是要求黑客亲自向你提供帮助。
如果您决定向我们寻求帮助,您不想成为失败者之一。你也不想看起来像一个人。获得快速和响应式答案的最好方法是像一个有智慧,自信和线索的人一样问它,他只是碰巧在一个特定问题上需要帮助。
在你问之前
在通过电子邮件、新闻组或网站聊天板询问技术问题之前,请执行以下操作:
- 尝试通过搜索您计划发布到的论坛或邮件列表的存档来查找答案。
- 尝试通过搜索 Web 找到答案。
- 尝试通过阅读手册找到答案。
- 尝试通过阅读常见问题解答来找到答案。
- 尝试通过检查或实验找到答案。
- 尝试通过询问熟练的朋友来找到答案。
- 如果您是程序员,请尝试通过阅读源代码来找到答案。
当你问你的问题时,显示你首先做了这些事情的事实;这将有助于确定你不是一个懒惰的海绵,浪费人们的时间。更好的是,展示你从这些事情中学到了什么。我们喜欢为那些已经证明可以从答案中学习的人回答问题。
使用策略,例如在您收到的任何错误消息的文本上进行Google搜索(搜索Google组以及网页)。这很可能会带您直接修复文档或邮件列表线程来回答您的问题。即使没有,说“我搜索了以下短语,但没有得到任何看起来很有希望的东西”也是在请求帮助的电子邮件或新闻帖子中做的好事,即使只是因为它记录了哪些搜索无济于事。它还有助于通过将搜索词链接到希望成为您的问题和解决线程的线程来指导其他具有类似问题的人。
别着急。不要指望能够通过几秒钟的谷歌搜索来解决一个复杂的问题。阅读并理解常见问题解答,坐下来,放松一下,在联系专家之前对问题进行一些思考。相信我们,他们将能够从您的问题中看出您做了多少阅读和思考,如果您准备好了,他们会更愿意提供帮助。不要仅仅因为你的第一次搜索没有找到答案(或太多)而立即解雇你的整个问题库。
准备您的问题。仔细想想。听起来很仓促的问题会得到仓促的答案,或者根本没有答案。你越是证明在寻求帮助之前已经花了很多心思和精力来解决你的问题,你就越有可能真正得到帮助。
当心问错问题。如果你问一个基于错误假设的问题,J. Random Hacker很可能会在思考“愚蠢的问题……”时用一个无用的字面上的答案来回答,并希望得到你所要求的而不是你需要的东西的经验会给你一个教训。
永远不要假设你有权得到答案。你不是;毕竟,您没有为服务付费。如果你通过提出一个实质性的、有趣的、发人深省的问题来获得一个答案——一个隐含地有助于社区体验的问题,而不仅仅是被动地要求他人了解知识,你将获得答案。
另一方面,明确表示您能够并愿意在开发解决方案的过程中提供帮助是一个非常好的开始。“有人会提供一个指针吗?”,“我缺少什么示例?”,以及“我应该检查哪个网站?”比“请发布我应该使用的确切程序”更有可能得到回答,因为你已经明确表示,如果有人能给你指出正确的方向,你真的愿意完成这个过程。
当你问
仔细选择您的论坛
在选择提问地点时要敏感。如果您符合以下条件,您可能会被忽视,或被注销为失败者:
- 将您的问题发布到偏离主题的论坛
- 将一个非常基本的问题发布到一个论坛,在那里需要高级技术问题,反之亦然
- 交叉发布到太多不同的新闻组
- 向既不是您熟人的人发送个人电子邮件,也不亲自负责解决您的问题
黑客会抛出不适当的目标问题,以试图保护他们的通信渠道不被淹没在不相关的内容中。你不希望这种情况发生在你身上。
因此,第一步是找到合适的论坛。同样,谷歌和其他网络搜索方法是你的朋友。使用它们来查找与给您带来困难的硬件或软件最密切相关的项目网页。通常,它将具有指向FAQ(常见问题解答)列表的链接,以及指向项目邮件列表及其存档的链接。这些邮件列表是寻求帮助的最后场所,如果您自己的努力(包括阅读您找到的常见问题解答)没有找到解决方案。项目页面还可以描述错误报告程序,或者有一个指向一个过程的链接;如果是这样,请遵循它。
向您不熟悉的人或论坛发送电子邮件充其量是有风险的。例如,不要假设信息网页的作者想成为您的免费顾问。不要乐观地猜测你的问题是否会受到欢迎——如果你不确定,就把它送到别处,或者根本不发送它。
在选择网络论坛,新闻组或邮件列表时,不要太相信名称本身;查找常见问题解答或章程以验证您的问题是否与主题相关。在发布之前阅读一些反向流量,以便您了解那里是如何完成的。实际上,在发布之前,在新闻组或邮件列表存档中对与您的问题相关的单词进行关键字搜索是一个非常好的主意。它可能会给你一个答案,如果没有,它将帮助您制定一个更好的问题。
不要一次用霰弹枪炸毁所有可用的帮助频道,这就像大喊大叫和激怒人们一样。轻轻地踩过它们。
知道你的主题是什么!一个经典的错误是在一个论坛上询问有关Unix或Windows编程接口的问题,该论坛致力于在两者之间移植语言或库或工具。如果你不明白为什么这是一个错误,你最好不要问任何问题,直到你得到它。
一般来说,向精心挑选的公共论坛提出的问题比与私人论坛同等的问题更有可能获得有用的答案。造成这种情况的原因有很多。一个是潜在受访者的规模。另一个是观众的规模;黑客宁愿回答教育许多人的问题,也不愿回答只为少数人服务的问题。
可以理解的是,熟练的黑客和流行软件的作者已经收到了超过他们公平份额的错误定位消息。通过增加洪水,在极端情况下,你甚至可能成为压垮骆驼背的稻草 - 很多时候,热门项目的贡献者已经撤回了他们的支持,因为以无用的电子邮件流量形式向他们的个人帐户造成的附带损害变得无法忍受。
堆栈溢出
搜索,然后在堆栈交换上询问
近年来,站点的 Stack Exchange 社区已成为回答技术和其他问题的主要资源,甚至是许多开源项目的首选论坛。
在查看堆栈交换之前,从谷歌搜索开始;谷歌实时索引它。很有可能有人已经问过类似的问题,并且 Stack Exchange 站点通常位于搜索结果的顶部附近。如果您没有通过 Google 找到任何内容,请在与您的问题最相关的特定网站上再次搜索(见下文)。使用标记进行搜索有助于缩小结果范围。
如果您仍然没有找到任何内容,请将您的问题发布在一个主题最相关的网站上。使用格式设置工具(尤其是代码),并添加与问题实质内容(尤其是遇到问题的编程语言、操作系统或库的名称)相关的标记。如果评论者要求您提供更多信息,请编辑您的主帖子以将其包含。如果任何答案有帮助,请单击向上箭头进行投票;如果答案给出了您的问题的解决方案,请单击投票箭头下的检查以接受它是正确的。
堆栈交换已发展到100多个站点,但以下是最有可能的候选者:
- 超级用户是关于通用计算的问题。如果您的问题不是关于您仅通过网络连接与之通信的代码或程序,则可能会转到此处。
- 堆栈溢出是针对有关编程的问题。
- 服务器故障是针对有关服务器和网络管理的问题。
一些项目有自己的特定网站,包括安卓、乌班图、TeX/LaTeX 和 SharePoint。检查堆栈交换站点以获取最新列表。
网络和IRC论坛
您的本地用户组或您的Linux发行版可能会宣传一个Web论坛或IRC频道,新手可以在其中获得帮助。(在非英语国家,新手论坛仍然更有可能成为邮件列表。这些是很好的第一个询问的地方,特别是如果你认为你可能绊倒了一个相对简单或常见的问题。广告中的IRC频道是一个公开的邀请,在那里提出问题,并经常得到实时的答案。
事实上,如果你从Linux发行版中得到了给你带来问题的程序(就像今天很常见),那么在尝试程序的项目论坛/列表之前,最好先在发行版的论坛/列表中询问。该项目的黑客可能只是说,“使用我们的构建”。
在发布到任何 Web 论坛之前,请检查它是否具有搜索功能。如果是这样,请尝试几个关键字搜索类似您问题的内容;它可能会有所帮助。如果您之前进行了一般的Web搜索(您应该这样做),无论如何都要搜索论坛;您的网络搜索引擎最近可能没有将所有这些论坛编入索引。
越来越多的项目倾向于通过 Web 论坛或 IRC 频道提供用户支持,电子邮件保留更多用于开发流量。因此,在寻求特定于项目的帮助时,请先寻找这些渠道。
在IRC中,最好不要首先在频道上转储冗长的问题描述;有些人将此解释为渠道泛滥。最好以一种在频道上开始对话的方式说出一行问题描述。
第二步,使用项目邮件列表
当一个项目有开发邮件列表时,写信给邮件列表,而不是个别开发人员,即使你认为你知道谁能最好地回答你的问题。检查项目的文档及其主页以获取项目邮件列表的地址,并使用它。此策略有几个很好的理由:
- 任何足以向一个开发人员提出的问题也对整个团队有价值。相反,如果你怀疑你的问题对于邮件列表来说太愚蠢了,这不是骚扰个别开发人员的借口。
- 在列表中提出问题会在开发人员之间分配负载。单个开发人员(特别是如果他是项目负责人)可能太忙而无法回答您的问题。
- 大多数邮件列表都已存档,并且存档由搜索引擎索引。如果你在列表中提出你的问题并且它得到了回答,那么未来的问题可能会在网络上找到你的问题和答案,而不是再次问它。
- 如果看到经常提出某些问题,开发人员可以使用该信息来改进文档或软件本身,以减少混淆。但是,如果这些问题是私下问的,没有人对最常被问到的问题有完整的了解。
如果一个项目同时有“用户”和“开发人员”(或“黑客”)邮件列表或Web论坛,并且您没有入侵代码,请在“用户”列表/论坛中询问。不要以为您会在开发者列表中受到欢迎,他们可能会因为噪音干扰他们的开发者流量而遇到您的问题。
但是,如果您确定您的问题并非易事,并且几天内在“用户”列表/论坛中没有得到答案,请尝试“开发人员”。建议您潜伏在那里几天,或者至少查看最近几天的存档消息,以便在发布之前了解当地的民俗习惯(实际上,这是任何私人或半私人列表的好建议)。
如果您找不到项目的邮件列表地址,而只能看到项目维护者的地址,请继续写信给维护者。但即使在这种情况下,也不要假设邮件列表不存在。在您的电子邮件中提及您尝试过但找不到相应的邮件列表。还要提到您不反对将您的信息转发给其他人。(许多人认为私人电子邮件应该保持私密,即使其中没有任何秘密。通过允许转发您的邮件,您可以让您的联系人选择如何处理您的电子邮件。
使用有意义的特定主题标头
在邮件列表、新闻组或 Web 论坛上,主题标题是您吸引合格专家注意力的黄金机会,大约不超过 50 个字符。不要把它浪费在像“请帮帮我”这样的喋喋不休上(更不用说“请帮帮我!!!!”,像这样的主题的信息会被反射丢弃)。不要试图用你痛苦的深度给我们留下深刻的印象;而是使用空格进行超简洁的问题描述。
许多技术支持组织使用的主题标题的一个很好的约定是“对象 - 偏差”。“对象”部分指定哪个事物或一组事物有问题,“偏差”部分描述与预期行为的偏差。
Stupid:
帮助!视频在我的笔记本电脑上无法正常工作!
Smart:
X.org 6.8.1 畸形鼠标光标, 福华 MV1005 vid. 芯片组
Smart:
X.org 6.8.1 鼠标光标在 Fooware MV1005 视频芯片组 - 是畸形的
编写“对象偏差”描述的过程将帮助您更详细地组织对问题的思考。什么会受到影响?只是鼠标光标或其他图形?这是否特定于 X 的 X.org 版本?到版本 6.8.1?这是否特定于福华视频芯片组?要型号为 MV1005?看到结果的黑客可以立即一目了然地了解您遇到问题的原因以及您遇到的问题。
更一般地说,想象一下查看问题档案的索引,只显示主题行。让你的主题行足够好地反映你的问题,这样下一个搜索档案的人就会发现一个与你类似的问题,他们将能够跟随主题找到答案,而不是再次发布问题。
如果您在回复中提出问题,请务必更改主题行以表明您正在提问。看起来像“Re:测试”或“Re:新错误”的主题行不太可能吸引有用的关注。此外,将以前消息的引用减少到与新读者一致的最低限度。
不要为了启动一个全新的话题而简单地点击回复列表消息。这将限制您的受众。某些邮件读取器(如 mutt)允许用户按线程排序,然后通过折叠线程来隐藏线程中的消息。这样做的人永远不会看到你的信息。
仅仅改变主题是不够的。Mutt(可能还有其他邮件阅读器)查看电子邮件标题中的其他信息,以将其分配给线程,而不是主题行。而是开始一封全新的电子邮件。
在 Web 论坛上,良好实践的规则略有不同,因为消息通常更紧密地绑定到特定的讨论线程,并且在这些线程之外通常不可见。在回答问题时改变主题不是必需的。并非所有论坛都允许在回复上使用单独的主题行,并且几乎没有人阅读它们。但是,在回复中提出问题本身就是一种可疑的做法,因为它只会被那些正在观看此帖子的人看到。因此,除非您确定只想询问线程中当前处于活动状态的人员,否则请开始一个新线程。
轻松回复
用“请将您的回复发送给…”结束您的查询,因此您不太可能得到答案。如果您懒得花几秒钟在邮件代理中设置正确的回复标头,那么我们甚至懒得花几秒钟来思考您的问题。如果您的邮件程序不允许这样做,请获取更好的邮件程序。如果您的操作系统不支持任何允许此操作的电子邮件程序,请获取更好的操作系统。
在 Web 论坛中,通过电子邮件要求回复是完全粗鲁的,除非您认为这些信息可能是敏感的(并且有人会出于某种未知的原因让您知道,但不是整个论坛都知道)。如果您希望在有人回复线程时收到电子邮件副本,请请求 Web 论坛发送它;此功能几乎在任何地方都受支持,例如“观看此线程”,“发送有关答案的电子邮件”等选项。
用清晰,语法,拼写正确的语言书写
我们根据经验发现,粗心大意和草率的作家通常也会粗心大意,在思考和编码方面也很草率(无论如何,通常足以打赌)。为粗心大意和草率的思想家回答问题没有回报;我们宁愿把时间花在其他地方。
因此,清晰而有效地表达您的问题非常重要。如果你懒得这样做,我们就懒得去注意。花额外的精力来打磨你的语言。它不必是僵硬或正式的 - 事实上,黑客文化重视非正式,俚语和幽默的语言精确使用。但它必须是精确的。必须有一些迹象表明你正在思考和注意。
拼写、标点符号和大写正确。不要将“它”与“它”混淆,将“松散”与“丢失”混淆,或将“离散”与“谨慎”混淆。不要输入所有大写字母;这被解读为大喊大叫,被认为是粗鲁的。(全小的只是稍微不那么烦人,因为它很难阅读。艾伦·考克斯可以逃脱惩罚,但你不能。
更一般地说,如果你像一个半文盲的胸部一样写作,你很可能会被忽视。因此,不要使用即时消息快捷方式。将“you”拼写为“u”会使您看起来像一个半文盲的胸部,以节省整个击键次数。更糟糕的是:像l33t脚本小孩hax0r一样写作是死亡的绝对之吻,并保证你只会得到石头般的沉默(或者,充其量,一堆蔑视和讽刺的帮助)作为回报。
如果你在一个不使用你的母语的论坛上提问,你会因为拼写和语法错误而得到有限的懈怠——但对于懒惰,你根本没有额外的懈怠(是的,我们通常可以发现这种差异)。另外,除非您知道受访者的语言是什么,否则请用英语书写。忙碌的黑客倾向于简单地用他们不懂的语言冲洗问题,而英语是互联网的工作语言。通过用英语写作,您可以最大限度地减少您的问题被丢弃而未读的机会。
如果您用英语写作,但它是您的第二语言,那么提醒潜在受访者潜在的语言困难以及解决这些问题的选择是一个很好的形式。例子:
- 英语不是我的母语;请原谅打字错误。
- 如果您$LANGUAGE说话,请发送电子邮件/PM我;我可能需要帮助翻译我的问题。
- 我熟悉技术术语,但一些俚语表达和习语对我来说很难。
- 我已经用$LANGUAGE和英语发布了我的问题。我很乐意翻译回复,如果你只使用一个或另一个。
以可访问的标准格式发送问题
如果你人为地让你的问题难以阅读,它更有可能被忽略,而支持一个不是。所以:
- 发送纯文本邮件,而不是 HTML。(关闭 HTML 并不难。
- MIME 附件通常是可以的,但前提是它们是真实内容(例如附加的源文件或修补程序),而不仅仅是邮件客户端生成的样板文件(例如邮件的另一个副本)。
- 不要发送整个段落都是单乘换行的电子邮件。(这使得仅回复部分消息变得非常困难。假设您的受访者将在 80 个字符宽的文本显示屏上阅读邮件,并相应地将换行设置为小于 80。
- 但是,不要以任何固定的列宽包装数据(如日志文件转储或会话脚本)。数据应按原样包含,以便受访者可以确信他们正在看到您所看到的内容。
- 不要将 MIME 引用可打印编码发送到英语论坛。当您使用 ASCII 未涵盖的语言发布内容时,此编码可能是必需的,但许多电子邮件代理不支持它。当它们破裂时,散落在文本中的20个字形都是丑陋和分散注意力的 - 或者可能主动破坏文本的语义。
- 永远不要指望黑客能够阅读封闭的专有文档格式,如微软Word或Excel。大多数黑客对这些的反应就像你对一堆热气腾腾的猪粪倾倒在你家门口一样。即使他们能够应付,他们也怨恨不得不这样做。
- 如果您从 Windows 计算机发送电子邮件,请关闭 Microsoft 有问题的“智能报价”功能(从“工具”>“自动更正选项”中,清除“键入时自动套用格式”下的“智能报价”复选框)。这样,您就可以避免在邮件中散布垃圾字符。
- 在 Web 论坛中,请勿滥用“笑脸”和“HTML”功能(如果存在)。一两个笑脸通常是可以的,但是彩色的花哨文字往往会让人认为你是瘸子。严重过度使用表情符号、颜色和字体会让你像一个咯咯笑的十几岁的女孩,这通常不是一个好主意,除非你对性比答案更感兴趣。
如果您使用的是图形用户界面邮件客户端(如网景信使、MS Outlook 或类似客户端),请注意,当使用其默认设置时,它可能会违反这些规则。大多数此类客户端都有一个基于菜单的“查看源代码”命令。将其用于已发送邮件文件夹中的某些内容,以验证是否发送纯文本,而不会造成不必要的附加问题。
准确并提供有关您的问题的信息
- 仔细、清晰地描述您的问题或错误的症状。
- 描述它发生的环境(机器,操作系统,应用程序等)。提供供应商的分发和发布级别(例如:“Fedora Core 7”、“Slackware 9.1”等)。
- 在提出问题之前,请描述一下您为尝试理解问题所做的研究。
- 在提出问题之前,请描述您尝试自己确定问题所采取的诊断步骤。
- 描述您的计算机或软件配置中任何可能相关的最近更改。
- 如果可能,请提供一种在受控环境中重现问题的方法。
尽您所能预测黑客会问的问题,并在您的帮助请求中提前回答它们。
如果您要报告您认为代码中的错误,则让黑客能够在受控环境中重现问题尤其重要。当你这样做的时候,你得到一个有用答案的几率以及你可能得到这个答案的速度都会大大提高。
西蒙·塔瑟姆写了一篇题为《如何有效地报告错误》的优秀文章。我强烈建议您阅读它。
体积不精确
您需要准确且信息丰富。简单地将大量代码或数据转储到帮助请求中并不能达到这一目的。如果你有一个庞大而复杂的测试用例正在破坏一个程序,请尝试修剪它并使其尽可能小。
这至少出于三个原因而有用。第一:看到在简化问题上投入精力会让你更有可能得到答案,第二:简化问题会让你更有可能得到一个有用的答案。第三:在完善错误报告的过程中,您可以自己开发修复或解决方法。
不要急于声称你发现了一个错误
当你在使用一个软件时遇到问题时,除非你非常非常确定你的立场,否则不要声称你发现了一个错误。提示:除非您可以提供修复问题的源代码修补程序,或者针对先前版本进行回归测试以证明不正确的行为,否则您可能不够确定。这也适用于网页和文档;如果您发现了文档“错误”,则应提供替换文本以及它应该继续的页面。
请记住,还有许多其他用户没有遇到您的问题。否则,您将在阅读文档和搜索Web时了解它(您在抱怨之前确实这样做了,不是吗?)。这意味着很可能是你做错了什么,而不是软件。
编写该软件的人非常努力地工作,以使其尽可能好地工作。如果你声称你发现了一个错误,你会质疑他们的能力,即使你是对的,也可能会冒犯他们中的一些人。在主题行中大喊“bug”尤其不外交。
在提出您的问题时,最好写得好像您认为自己做错了什么,即使您私下里非常确定自己发现了一个实际的错误。如果真的有错误,你会在答案中听到它。玩一玩,如果错误是真的,维护者会想向你道歉,而不是让你在搞砸了时欠他们一个道歉。
格罗布林不能代替你做功课
有些人明白他们不应该表现得粗鲁或傲慢,要求答案,然后退回到相反的极端。“我知道我只是一个可怜的新手失败者,但是……”。这是分散注意力和无益的。当它与对实际问题的模糊性相结合时,这尤其令人讨厌。
不要把你或我们的时间浪费在粗糙的灵长类动物政治上。相反,尽可能清楚地呈现背景事实和你的问题。这是比摸索更好的定位方式。
有时,Web 论坛会为新手问题提供单独的位置。如果你觉得你确实有一个新手问题,就去那里。但也不要在那里摸索。
描述问题的症状,而不是您的猜测
告诉黑客您认为导致问题的原因没有用。(如果你的诊断理论是如此热门的东西,你会向别人寻求帮助吗?所以,确保你告诉他们出了什么问题的原始症状,而不是你的解释和理论。让他们做解释和诊断。如果你觉得陈述你的猜测很重要,请清楚地标记它,并描述为什么这个答案对你不起作用。
Stupid:
我在内核编译中收到背靠背的SIG11错误,并怀疑其中一个主板痕迹上有发际线裂缝。检查这些的最佳方法是什么?
Smart:
我在 FIC-PA2007 主板(VIA Apollo VP2 芯片组)上自制的 K6/233,配备 256MB 海盗船 PC133 SDRAM,在内核编译过程中,开机后约 20 分钟开始频繁出现 SIG11 错误,但在前 20 分钟内从未出现过。重新启动不会重新启动时钟,但隔夜关闭电源会重新启动。交换所有RAM没有帮助。典型的编译会话日志的相关部分如下。
由于上述观点对许多人来说似乎很难理解,这里有一句话提醒你:“所有的诊断学家都来自密苏里州。美国那个州的官方座右铭是“向我展示”(1899年,当时国会议员威拉德·范迪弗(Willard D. Vandiver)说:“我来自一个种植玉米、棉花、蛤蜊和民主党人的国家,泡沫雄辩既不能说服我,也不能满足我。我来自密苏里州。你必须给我看。在诊断学家的案例中,这不是一个怀疑的问题,而是一个字面上的,功能性的需求,看到尽可能接近你所看到的相同的原始证据,而不是你的推测和总结。向我们展示。
按时间顺序描述问题的症状
找出出错的最有用的线索往往在于紧接着发生的事件。因此,您的帐户应准确描述您做了什么,以及机器和软件做了什么,从而导致爆炸。在命令行进程的情况下,具有会话日志(例如,使用脚本实用程序)并引用相关的二十行左右是非常有用的。
如果向您爆炸的程序具有诊断选项(例如 -v 表示详细),请尝试选择将有用的调试信息添加到脚本中的选项。请记住,越多不一定越好。尝试选择一个调试级别,该级别将通知而不是淹没在垃圾中。
如果您的帐户最终很长(超过四个段落),那么在顶部简洁地陈述问题,然后按时间顺序排列故事可能会很有用。这样,黑客就会知道在阅读您的帐户时要注意什么。
描述目标,而不是步骤
如果你想找出如何做某事(而不是报告错误),首先要描述目标。只有这样,才能描述您被阻止的特定步骤。
通常,需要技术帮助的人心中有一个高层次的目标,并被困在他们认为是实现目标的特定道路上。他们来这里寻求帮助,但没有意识到这条路是错的。要克服这一点,可能需要付出巨大的努力。
Stupid:
如何让 FooDraw 程序上的颜色选取器获取十六进制 RGB 值?
Smart:
我正在尝试用我选择的值替换图像上的颜色表。现在,我能看到的唯一方法是编辑每个表槽,但我无法让FooDraw的颜色选择器采用十六进制RGB值。
问题的第二个版本是聪明的。它允许一个答案,建议一个更适合该任务的工具。
不要要求他人通过电子邮件回复
黑客认为,解决问题应该是一个公开的、透明的过程,在这个过程中,如果有人更了解答案不完整或不正确,那么第一次尝试答案就可以而且应该得到纠正。此外,帮助者作为受访者获得的一些奖励来自被同龄人视为有能力和知识渊博的人。
当您要求私人回复时,您正在破坏流程和奖励。别这样。受访者可以选择是否私下回答-如果他或她这样做,通常是因为他或她认为这个问题的格式太不合理或明显,对其他人来说不感兴趣。
此规则有一个有限的例外。如果你认为这个问题是这样的,你可能会得到许多非常相似的答案,那么神奇的话就是“给我发电子邮件,我会总结小组的答案”。尝试将邮件列表或新闻组保存在大量基本相同的帖子中是礼貌的 - 但您必须遵守总结的承诺。
明确您的问题
开放式问题往往被视为开放式时间沉没。那些最有可能给你一个有用的答案的人也是最忙的人(如果只是因为他们自己承担了最多的工作)。像这样的人对开放式时间沉没过敏,因此他们往往对开放式问题过敏。
如果您明确希望受访者做什么(提供指针,发送代码,检查补丁等),则更有可能获得有用的响应。这将集中他们的努力,并隐含地为受访者必须分配的时间和精力来帮助您设定上限。这很好。
要了解专家所生活的世界,请将专业知识视为丰富的资源,而将响应时间视为稀缺资源。你隐含要求的时间承诺越少,你就越有可能从一个真正优秀和非常忙碌的人那里得到答案。
因此,构建您的问题以最大限度地减少专家提出问题所需的时间是很有用的 - 但这通常与简化问题不是一回事。因此,例如,“你能给我一个指向X的良好解释的指针吗?”通常是一个比“你能解释X吗?”更聪明的问题。如果你有一些故障代码,通常要求某人解释它有什么问题比要求某人修复它更聪明。
询问代码时
不要要求其他人在没有提示他们应该搜索哪种问题的情况下调试您损坏的代码。发布几百行代码,说“它不起作用”,会让你被忽略。发布十几行代码,说“在第7行之后,我本来希望看到
精确处理代码问题的最有效方法是提供一个最小的错误演示测试用例。什么是最小测试用例?这是问题的例证;只是足够的代码来展示不良行为,仅此而已。如何创建最小测试用例?如果您知道哪一行或哪一段代码产生了有问题的行为,请复制它并添加足够的支持代码以生成完整的示例(即,编译器/解释器/任何应用程序都可以接受源代码)。如果无法将其缩小到特定部分,请创建源的副本并开始删除不影响问题行为的块。最小测试用例越小越好(请参阅“音量不精确”一节)。
生成一个非常小的最小测试用例并不总是可能的,但尝试是很好的纪律。它可以帮助您了解自己解决问题所需的内容 - 即使没有,黑客也喜欢看到您已经尝试过。这将使他们更加合作。
如果你只是想进行代码审查,请提前说出来,并确保提及您认为可能特别需要审查的领域及其原因。
不要发布家庭作业问题
黑客善于发现家庭作业问题;我们大多数人都自己做过。这些问题是要你去解决的,这样你就会从经验中学习。可以要求提示,但不能要求整个解决方案。
如果您怀疑自己已经通过了家庭作业问题,但无论如何都无法解决,请尝试在用户组论坛中询问,或者(作为最后的手段)在项目的“用户”列表/论坛中提问。虽然黑客会发现它,但一些高级用户至少可能会给你一个提示。
修剪无意义的查询
抵制诱惑,用语义上无效的问题结束你的帮助请求,比如“任何人都可以帮我吗?”或“有答案吗?首先:如果你已经半途而废地写了你的问题描述,那么这种附加的问题充其量是多余的。第二:因为它们是多余的,黑客发现它们很烦人 - 并且可能会返回逻辑上无可挑剔但不屑一顾的答案,例如“是的,你可以得到帮助”和“不,没有帮助你。
一般来说,问“是”或“否”问题是一件好事,除非你想要一个是或否的答案。
不要将您的问题标记为“紧急”,即使它是针对您的
那是你的问题,不是我们的问题。声称紧迫性很可能适得其反:大多数黑客只会删除诸如粗鲁和自私的企图之类的消息,以引起立即和特别的关注。此外,“紧急”一词(以及其他类似的在主题行中吸引注意力的尝试)经常会触发垃圾邮件过滤器 - 您的预期收件人可能根本看不到它!
有一个半例外。值得一提的是,如果您在一些备受瞩目的地方使用该程序,黑客会对此感到兴奋;在这种情况下,如果你处于时间压力之下,并且你礼貌地说,人们可能会有足够的兴趣更快地回答。
但是,这是一件非常冒险的事情,因为黑客对令人兴奋的指标可能与您的指标不同。例如,从国际空间站发帖符合条件,但代表一个感觉良好的慈善或政治事业发帖几乎肯定不会。事实上,发布“紧急:帮我保存模糊的婴儿海豹!”,即使黑客认为模糊的婴儿海豹很重要,也会可靠地让你回避或燃烧。
如果您发现这很神秘,请反复阅读本操作方法的其余部分,直到您在发布任何内容之前理解它。
礼貌从不伤害,有时会有所帮助
要有礼貌。使用“请”和“感谢您的关注”或“感谢您的考虑”。明确表示你很感激人们花时间免费帮助你。
说实话,这并不像语法,清晰,精确和描述性,避免专有格式等那样重要(并且不能代替);一般来说,黑客宁愿得到一些粗暴但技术上尖锐的错误报告,而不是礼貌的模糊。(如果这让你感到困惑,请记住,我们通过它教给我们的东西来评估一个问题。
但是,如果您连续遇到技术鸭子,那么礼貌确实会增加您获得有用答案的机会。
(我们必须注意,我们从资深黑客那里收到的对HOWTO的唯一严重反对意见是关于我们之前建议使用“提前致谢”。一些黑客认为这意味着事后不感谢任何人的意图。我们的建议是先说“提前致谢”,然后对受访者表示感谢,或者以不同的方式表达礼貌,例如说“感谢您的关注”或“感谢您的考虑”。
跟进有关解决方案的简要说明
问题解决后,向所有帮助您的人发送便笺;让他们知道它是如何出来的,并再次感谢他们的帮助。如果问题引起了邮件列表或新闻组的普遍兴趣,则在此处发布后续内容是合适的。
理想情况下,回复应该是原始问题发布开始的话题,并且应该在主题行中具有“已修复”,“已解决”或同样明显的标签。在快速周转的邮件列表中,看到以“问题X - FIXED”结尾的“问题X”的帖子的潜在受访者知道即使阅读该线程也不会浪费他/她的时间(除非他个人发现问题X很有趣),因此可以利用该时间解决不同的问题。
您的跟进不必很长且涉及;一个简单的“你好- 这是一根失败的网络电缆!谢谢大家。- 比尔“总比没有好。事实上,一个简短而甜蜜的总结比一篇长篇论文要好,除非解决方案具有真正的技术深度。说出什么操作解决了问题,但您不需要重放整个故障排除序列。
对于具有一定深度的问题,最好发布故障排除历史记录的摘要。描述您的最终问题陈述。描述什么可以作为解决方案,并指出之后可避免的盲巷。盲巷应该遵循正确的解决方案和其他摘要材料,而不是将后续变成侦探故事。说出帮助你的人的名字;你会以这种方式交朋友。
除了礼貌和信息丰富之外,这种跟进还将帮助其他人搜索邮件列表/新闻组/论坛的存档,以确切地知道哪个解决方案对您有所帮助,因此也可能帮助他们。
最后,也是并非最不重要的一点是,这种跟进可以帮助每个协助过的人对这个问题感到满意的结束感。如果您自己不是技术人员或黑客,请相信我们,这种感觉对您寻求帮助的大师和专家非常重要。陷入未解决的虚无的问题叙述令人沮丧;黑客渴望看到它们得到解决。挠痒痒给你带来的善意,下次你需要提出一个问题时,会对你非常非常有帮助。
考虑一下如何防止其他人将来遇到同样的问题。问问自己,文档或FAQ补丁是否有帮助,如果答案是肯定的,请将该补丁发送给维护者。
在黑客中,这种良好的后续行为实际上比传统的礼貌更重要。这就是你如何获得与他人合作的声誉,这可能是一个非常宝贵的资产。
如何解释答案
RTFM和STFW:如何告诉你已经严重搞砸了
有一个古老而神圣的传统:如果你得到一个写着“RTFM”的回复,发送它的人认为你应该读过他妈的手册。他或她几乎肯定是对的。去读吧。
RTFM 有一个更年轻的亲戚。如果你得到一个写着“STFW”的回复,发送它的人认为你应该搜索他妈的网络。他或她几乎肯定是对的。去搜索它。(较温和的版本是当你被告知“谷歌是你的朋友!)
在 Web 论坛中,您可能还会被告知要搜索论坛存档。事实上,有人甚至可能很友善,以至于提供了一个指向解决此问题的上一个线程的指针。但不要依赖这种考虑;在询问之前进行存档搜索。
通常,告诉您进行搜索的人会打开手册或网页,其中包含您需要的信息,并且正在查看他或她键入的内容。这些回复意味着响应者认为(a)你需要的信息很容易找到,(b)如果你寻找信息,你会学到更多,而不是用勺子喂给你。
你不应该被这个冒犯;按照黑客的标准,你的被调查者只是通过不忽视你来向你展示一种粗暴的尊重。相反,你应该感谢这种祖母般的善意。
如果您不明白…
如果您不理解答案,请不要立即回复澄清要求。使用您用来尝试回答原始问题的相同工具(手册,常见问题解答,网络,熟练的朋友)来理解答案。然后,如果你仍然需要要求澄清,展示你所学到的东西。
例如,假设我告诉你:“听起来你有一个卡住的禅室;你需要清除它。然后:这里有一个糟糕的后续问题:“什么是禅宗?这里有一个很好的后续问题:“好吧,我读了手册页,zentry只在-z和-p开关下提到。他们都没有说任何关于清理中心的事情。是其中之一,还是我在这里错过了什么?
处理粗鲁行为
在黑客圈子里,许多看似粗鲁的东西并不是为了冒犯。相反,它是直接的,直截了当的废话沟通风格的产物,对于那些更关心解决问题而不是让别人感到温暖和模糊的人来说,这是很自然的。
当你察觉到粗鲁时,试着冷静地做出反应。如果有人真的在表演,很可能名单上的资深人士、新闻组或论坛上的资深人士会打电话给他或她。如果没有发生这种情况并且您发脾气,那么您失去它的人很可能在黑客社区的规范范围内行事,您将被视为有过错。这将损害您获得所需信息或帮助的机会。
另一方面,你偶尔会遇到粗鲁和姿态,这是非常无端的。上述情况的另一面是,用锋利的口头手术刀狠狠地抨击真正的罪犯,剖析他们的不当行为是可以接受的形式。但是,在尝试此操作之前,请非常非常确定自己的立场。纠正不文明行为和开始一场毫无意义的火焰战争之间的界限非常细,黑客本身并不经常犯错误。如果您是新手或局外人,则避免此类错误的机会很低。如果你追求的是信息而不是娱乐,那么最好让你的手指远离键盘,而不是冒着这个风险。
(有些人断言,许多黑客患有轻度自闭症或阿斯伯格综合症,实际上缺少一些润滑“正常”人类社交互动的大脑回路。这可能是真的,也可能不是真的。如果您自己不是黑客,如果您认为我们脑部受损,它可能会帮助您应对我们的怪癖。继续前进。我们不会在乎;我们喜欢成为我们自己,并且通常对临床标签持健康的怀疑态度。
杰夫·比格勒对轻触滤镜的观察也是相关的,值得一读。
在下一节中,我们将讨论另一个问题;当你行为不端时,你会看到的那种“粗鲁”。
关于不像失败者那样做出反应
您很可能会在黑客社区论坛上搞砸几次 - 以本文或类似方式详细说明。你会被告知你是如何搞砸的,可能是五颜六色的。当众。
当这种情况发生时,你能做的最糟糕的事情就是抱怨这段经历,声称遭到了口头攻击,要求道歉,尖叫,屏住呼吸,威胁要提起诉讼,向人们的雇主投诉,把马桶座圈留起来,等等。相反,这是你要做的:
克服它。这很正常。事实上,它是健康和适当的。
社区标准本身并不存在:它们是由人们在公共场合积极应用它们来维护的,显然是这样。不要抱怨所有的批评都应该通过私人电子邮件传达:这不是它的工作方式。当有人评论你的一个主张是错误的,或者他的观点不同时,坚持认为你受到了人身侮辱,这也是没有用的。这些都是失败者的态度。
在一些黑客论坛上,出于一些被误导的过度礼貌感,参与者被禁止在别人的帖子中发布任何错误发现,并被告知“如果你不愿意帮助用户,不要说什么。由此产生的无知参与者离开到其他地方,导致他们陷入毫无意义的喋喋不休,成为无用的技术论坛。
夸张的“友好”(以这种方式)或有用:选择一个。
记住:当黑客告诉你你已经搞砸了,并且(无论多么粗鲁)告诉你不要再这样做了,他的行为是出于对(1)你和(2)他的社区的关心。对他来说,忽视你并将你从他的生活中过滤出去要容易得多。如果你不能设法感恩,至少要有一点尊严,不要发牢骚,不要指望仅仅因为你是一个有着戏剧上超敏的灵魂和对权利的妄想的新人而被当作一个脆弱的娃娃来对待。
有时人们会攻击你,没有明显原因的火焰,等等,即使你没有搞砸(或者只是在他们的想象中搞砸了)。在这种情况下,抱怨是真正搞砸的方式。
这些火焰手要么是那些没有线索但认为自己是专家的拉默,要么是潜在的心理学家,他们正在测试你是否会搞砸。其他读者要么忽略它们,要么找到自己处理它们的方法。火焰人的行为给自己带来了问题,这不必引起你的关心。
也不要让自己被卷入一场火焰战争。大多数火焰最好被忽略 - 在你检查它们是否真的是火焰之后,而不是指向你搞砸的方式的指针,而不是巧妙地加密你真实问题的答案(这也会发生)。
不该问的问题
以下是一些典型的愚蠢问题,以及黑客在不回答这些问题时的想法。
- 问:在哪里可以找到程序或资源 X?
- 问:如何使用 X 来执行 Y 操作?
- 问:如何配置我的外壳程序提示?
- 问:我可以使用低音-o-matic 文件转换器将 AcmeCorp 文档转换为 TeX 文件吗?
- 问:我的 {程序、配置、SQL 语句} 不起作用
- 问:我的视窗电脑有问题。你能帮忙吗?
- 问:我的程序不起作用。我认为系统设施X坏了。
- 问:我在安装 Linux 或 X 时遇到问题。你能帮忙吗?
- 问:如何破解根/窃取频道操作权限/读取某人的电子邮件?
Q: | 在哪里可以找到程序或资源 X? |
---|---|
A: | 在同样的地方,我找到了它,傻瓜 - 在网络搜索的另一端。哎呀,不是每个人都知道如何使用谷歌吗? |
Q: | 如何使用 X 来执行 Y 操作? |
A: | 如果你想要的是做Y,你应该问这个问题,而不是预先假设使用可能不合适的方法。这种形式的问题通常表明一个人不仅对X一无所知,而且对他们正在解决的Y问题感到困惑,并且过于关注他们特定情况的细节。通常最好忽略这些人,直到他们更好地定义他们的问题。 |
Q: | 如何配置我的外壳程序提示? |
A: | 如果你足够聪明,可以问这个问题,那么你就足够聪明,可以RTFM并找出自己。 |
Q: | 我可以使用低音-o-matic文件转换器将AcmeCorp文档转换为TeX文件吗? |
A: | 试试看。如果你这样做了,你会(a)了解答案,(b)停止浪费我的时间。 |
Q: | 我的 {程序、 配置、 SQL 语句} 不起作用 |
A: | 这不是一个问题,我对玩二十个问题来撬开你的实际问题不感兴趣 - 我有更好的事情要做。看到这样的东西,我的反应通常是以下之一:你还有什么要补充的吗?哦,那太糟糕了,我希望你能修复它。这到底和我有什么关系? |
Q: | 我的窗口计算机出现问题。你能帮忙吗? |
A: | 是的。扔掉微软垃圾箱,安装一个开源操作系统,如Linux或BSD。注意:您可以询问与 Windows 计算机相关的问题,如果这些问题与具有官方 Windows 内部版本或与 Windows 计算机(即 Samba)交互的程序有关。只是不要对问题出在Windows而不是程序上的回复感到惊讶,因为Windows通常如此破碎,以至于这种情况经常发生。 |
Q: | 我的程序不起作用。我认为系统设施X坏了。 |
A: | 虽然您可能是第一个注意到数百或数千人大量使用的系统调用和库明显缺陷的人,但更有可能的是,您完全无能为力。非同寻常的索赔要求非同寻常的证据;当您提出这样的索赔时,您必须通过失败案例的清晰而详尽的文档来支持它。 |
Q: | 我在安装 Linux 或 X 时遇到问题。你能帮忙吗? |
A: | 不。我需要亲身操作您的机器来解决此问题。去向你当地的Linux用户组寻求实践帮助。(您可以在此处找到用户组列表。注意:如果您在有关特定发行版的论坛或邮件列表中,并且问题出在该发行版上,则有关安装Linux的问题可能是合适的;或在本地用户组论坛上。在这种情况下,请务必描述故障的确切详细信息。但是,请先仔细搜索“linux”和所有可疑的硬件。 |
Q: | 如何破解根/窃取频道操作权限/读取某人的电子邮件? |
A: | 你是一个想要做这种事情的卑微生活,也是一个要求黑客帮助你的白痴。 |
好问题和坏问题
最后,我将通过示例说明如何以聪明的方式提出问题;关于同一问题的成对问题,一个以愚蠢的方式提出,另一个以聪明的方式提出。
Stupid:我在哪里可以找到关于福恩利·弗鲁巴马蒂克的东西?
这个问题只是乞求“STFW”作为回答。
Smart:我用谷歌试图在网上找到“福恩利·弗鲁巴马蒂奇2600”,但我没有得到有用的点击。我能否获得指向此设备上的编程信息的指针?
这个已经STFWed了,听起来好像有一个真正的问题。
Stupid:我无法从 foo 项目获取代码进行编译。为什么会坏?
奎伦特假设其他人搞砸了。傲慢的家伙…
Smart:foo 项目中的代码无法在 Nulix 版本 6.2 下编译。我已经阅读了常见问题解答,但它没有任何关于Nulix相关问题的内容。这是我的编译尝试的文字记录;是我做了什么吗?
querent已经指定了环境,阅读了常见问题解答,显示了错误,并且没有假设他的问题是由其他人的错。这个可能值得关注。
Stupid:我的主板有问题。任何人都可以帮忙吗?
J.随机黑客对此的回应可能是“对。你也需要打嗝和尿布吗?然后是删除键的一击。
Smart:我在S2464主板上尝试了X,Y和Z。当这不起作用时,我尝试了A,B和C.注意我尝试C时的奇怪症状.显然,絮状物正在发牢骚,但结果不是人们所期望的。速龙MP主板上发出咕噜声的常见原因是什么?有人想出更多测试的想法,我可以运行来确定问题吗?
另一方面,这个人似乎值得回答。他/她表现出解决问题的智慧,而不是被动地等待答案从高处掉下来。
在最后一个问题中,请注意要求“给我一个答案”和“请帮助我弄清楚我可以运行哪些额外的诊断来实现启蒙”之间的微妙但重要的区别。
事实上,最后一个问题的形式是紧密基于2001年8月在linux内核邮件列表(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“。
帮助您的社区从问题中学习。当你提出一个好问题时,问问自己“相关文档或常见问题解答必须如何更改,以便没有人必须再次回答这个问题?然后向文档维护者发送补丁。
如果你做了研究来回答这个问题,展示你的技能,而不是像你把答案从屁股里拉出来一样写作。回答一个好问题就像给一个饥饿的人喂一顿饭,但通过例子教他们研究技能,就是向他们展示如何种植一生的食物。
相关资源
如果您需要有关个人计算机、Unix 和互联网如何工作的基础知识的说明,请参阅 Unix 和互联网基础知识 HOWTO。
当您发布软件或为软件编写修补程序时,请尝试遵循软件发布实践 HOWTO 中的准则。
确认
伊芙琳·米切尔贡献了一些愚蠢的问题,并启发了“如何给出一个好的答案”部分。米哈伊尔·拉门迪克提出了一些特别有价值的改进建议。