Merge pull request #35 from Pancongwen/master

修改了一些 markdown 格式 includes bold, listing, and quotes
This commit is contained in:
Ryan Wu 2018-07-18 23:30:12 -04:00 committed by GitHub
commit 54bbfc6b5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,7 +12,7 @@ Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu
本中文指南是基于原文 3.10 版以及 2010 年由 [Gasolin](https://github.com/gasolin) 所翻译版本的最新翻译; 本中文指南是基于原文 3.10 版以及 2010 年由 [Gasolin](https://github.com/gasolin) 所翻译版本的最新翻译;
协助指出翻译问题,****请[发 Issue](https://github.com/ryanhanwu/smartquestions/issues/new),或直接[发 Pull Request](https://github.com/ryanhanwu/smartquestions/compare/) 给我。**** 协助指出翻译问题,**请[发 Issue](https://github.com/ryanhanwu/smartquestions/issues/new),或直接[发 Pull Request](https://github.com/ryanhanwu/smartquestions/compare/) 给我。**
本文另有[繁體中文版](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README.md)。 本文另有[繁體中文版](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README.md)。
@ -62,7 +62,7 @@ Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu
许多项目在他们的使用协助/说明网页中链接了本指南,这么做很好,我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人,请在超链接附近的显著位置上注明: 许多项目在他们的使用协助/说明网页中链接了本指南,这么做很好,我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人,请在超链接附近的显著位置上注明:
****本指南不提供此项目的实际支持服务!**** **本指南不提供此项目的实际支持服务!**
我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明,我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南,那么我们就有责任解决世上所有的技术问题。 我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明,我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南,那么我们就有责任解决世上所有的技术问题。
@ -78,13 +78,13 @@ Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu
尽管如此,黑客们有着蔑视或傲慢面对简单问题的坏名声,这有时让我们看起来对新手、无知者似乎较有敌意,但其实不是那样的。 尽管如此,黑客们有着蔑视或傲慢面对简单问题的坏名声,这有时让我们看起来对新手、无知者似乎较有敌意,但其实不是那样的。
我们不讳言我们对那些不愿思考、或者在发问前不做他们该做的事的人的蔑视。那些人是时间杀手 - 他们只想索取,从不付出,消耗我们可用在更有趣的问题或更值得回答的人身上的时间。我们称这样的人为 ```失败者(撸瑟)``` (由于历史原因,我们有时把它拼作 ```lusers```)。 我们不讳言我们对那些不愿思考、或者在发问前不做他们该做的事的人的蔑视。那些人是时间杀手 —— 他们只想索取,从不付出,消耗我们可用在更有趣的问题或更值得回答的人身上的时间。我们称这样的人为 `失败者(撸瑟)` (由于历史原因,我们有时把它拼作 `lusers`)。
我们意识到许多人只是想使用我们写的软件,他们对学习技术细节没有兴趣。对大多数人而言,电脑只是种工具,是种达到目的的手段而已。他们有自己的生活并且有更要紧的事要做。我们了解这点,也从不指望每个人都对这些让我们着迷的技术问题感兴趣。尽管如此,我们回答问题的风格是指向那些真正对此有兴趣并愿意主动参与解决问题的人,这一点不会变,也不该变。如果连这都变了,我们就是在降低做自己最擅长的事情上的效率。 我们意识到许多人只是想使用我们写的软件,他们对学习技术细节没有兴趣。对大多数人而言,电脑只是种工具,是种达到目的的手段而已。他们有自己的生活并且有更要紧的事要做。我们了解这点,也从不指望每个人都对这些让我们着迷的技术问题感兴趣。尽管如此,我们回答问题的风格是指向那些真正对此有兴趣并愿意主动参与解决问题的人,这一点不会变,也不该变。如果连这都变了,我们就是在降低做自己最擅长的事情上的效率。
我们(在很大程度上)是自愿的,从繁忙的生活中抽出时间来解答疑惑,而且时常被提问淹没。所以我们无情的滤掉一些话题,特别是拋弃那些看起来像失败者的家伙,以便更高效的利用时间来回答```赢家winner```的问题。 我们(在很大程度上)是自愿的,从繁忙的生活中抽出时间来解答疑惑,而且时常被提问淹没。所以我们无情的滤掉一些话题,特别是拋弃那些看起来像失败者的家伙,以便更高效的利用时间来回答`赢家winner`的问题。
如果你厌恶我们的态度,高高在上,或过于傲慢,不妨也设身处地想想。我们并没有要求你向我们屈服 -- 事实上,我们大多数人非常乐意与你平等地交流,只要你付出小小努力来满足基本要求,我们就会欢迎你加入我们的文化。但让我们帮助那些不愿意帮助自己的人是没有效率的。无知没有关系,但装白痴就是不行。 如果你厌恶我们的态度,高高在上,或过于傲慢,不妨也设身处地想想。我们并没有要求你向我们屈服 —— 事实上,我们大多数人非常乐意与你平等地交流,只要你付出小小努力来满足基本要求,我们就会欢迎你加入我们的文化。但让我们帮助那些不愿意帮助自己的人是没有效率的。无知没有关系,但装白痴就是不行。
所以,你不必在技术上很在行才能吸引我们的注意,但你必须表现出能引导你变得在行的特质 -- 机敏、有想法、善于观察、乐于主动参与解决问题。如果你做不到这些使你与众不同的事情,我们建议你花点钱找家商业公司签个技术支持服务合同,而不是要求黑客个人无偿地帮助你。 所以,你不必在技术上很在行才能吸引我们的注意,但你必须表现出能引导你变得在行的特质 -- 机敏、有想法、善于观察、乐于主动参与解决问题。如果你做不到这些使你与众不同的事情,我们建议你花点钱找家商业公司签个技术支持服务合同,而不是要求黑客个人无偿地帮助你。
@ -97,26 +97,26 @@ Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu
在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情: 在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情:
1. 尝试在你准备提问的论坛的旧文章中搜索答案。 1. 尝试在你准备提问的论坛的旧文章中搜索答案。
1. 尝试上网搜索以找到答案。 2. 尝试上网搜索以找到答案。
1. 尝试阅读手册以找到答案。 3. 尝试阅读手册以找到答案。
1. 尝试阅读常见问题文件FAQ以找到答案。 4. 尝试阅读常见问题文件FAQ以找到答案。
1. 尝试自己检查或试验以找到答案。 5. 尝试自己检查或试验以找到答案。
1. 向你身边的强者朋友打听以找到答案。 6. 向你身边的强者朋友打听以找到答案。
1. 如果你是程序开发者,请尝试阅读源代码以找到答案。 7. 如果你是程序开发者,请尝试阅读源代码以找到答案。
当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所**学到**的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。 当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所**学到**的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。
运用某些策略,比如先用 Google 搜索你所遇到的各种错误信息(既搜索 [Google 论坛](http://groups.google.com/),也搜索网页),这样很可能直接就找到了能解决问题的文件或邮件列表线索。即使没有结果,在邮件列表或新闻组寻求帮助时加上一句 ```我在 Google 中搜过下列句子但没有找到什么有用的东西``` 也是件好事,即使它只是表明了搜索引擎不能提供哪些帮助。这么做(加上搜索过的字串)也让遇到相似问题的其他人能被搜索引擎引导到你的提问来。 运用某些策略,比如先用 Google 搜索你所遇到的各种错误信息(既搜索 [Google 论坛](http://groups.google.com/),也搜索网页),这样很可能直接就找到了能解决问题的文件或邮件列表线索。即使没有结果,在邮件列表或新闻组寻求帮助时加上一句 `我在 Google 中搜过下列句子但没有找到什么有用的东西` 也是件好事,即使它只是表明了搜索引擎不能提供哪些帮助。这么做(加上搜索过的字串)也让遇到相似问题的其他人能被搜索引擎引导到你的提问来。
别着急,不要指望几秒钟的 Google 搜索就能解决一个复杂的问题。在向专家求助之前再阅读一下常见问题文件FAQ、放轻松、坐舒服一些再花点时间思考一下这个问题。相信我们他们能从你的提问看出你做了多少阅读与思考如果你是有备而来将更有可能得到解答。不要将所有问题一股脑拋出只因你的第一次搜索没有找到答案或者找到太多答案 别着急,不要指望几秒钟的 Google 搜索就能解决一个复杂的问题。在向专家求助之前再阅读一下常见问题文件FAQ、放轻松、坐舒服一些再花点时间思考一下这个问题。相信我们他们能从你的提问看出你做了多少阅读与思考如果你是有备而来将更有可能得到解答。不要将所有问题一股脑拋出只因你的第一次搜索没有找到答案或者找到太多答案
准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。越是能表现出在寻求帮助前你为解决问题所付出的努力,你越有可能得到实质性的帮助。 准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。越是能表现出在寻求帮助前你为解决问题所付出的努力,你越有可能得到实质性的帮助。
小心别问错了问题。如果你的问题基于错误的假设某个普通黑客J. Random Hacker多半会一边在心里想着```蠢问题…``` 一边用无意义的字面解释来答复你,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。 小心别问错了问题。如果你的问题基于错误的假设某个普通黑客J. Random Hacker多半会一边在心里想着`蠢问题…` 一边用无意义的字面解释来答复你,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。
绝不要自以为**够格**得到答案,你没有;你并没有。毕竟你没有为这种服务支付任何报酬。你将会是自己去**挣到**一个答案,靠提出有内涵的、有趣的、有思维激励作用的问题 --一个有潜力能贡献社区经验的问题,而不仅仅是被动的从他人处索取知识。 绝不要自以为**够格**得到答案,你没有;你并没有。毕竟你没有为这种服务支付任何报酬。你将会是自己去**挣到**一个答案,靠提出有内涵的、有趣的、有思维激励作用的问题 —— 一个有潜力能贡献社区经验的问题,而不仅仅是被动的从他人处索取知识。
另一方面,表明你愿意在找答案的过程中做点什么是一个非常好的开端。```谁能给点提示?``````我的这个例子里缺了什么?```以及```我应该检查什么地方``````请把我需要的确切的过程贴出来```更容易得到答复。因为你表现出只要有人能指个正确方向,你就有完成它的能力和决心。 另一方面,表明你愿意在找答案的过程中做点什么是一个非常好的开端。`谁能给点提示?``我的这个例子里缺了什么?`以及`我应该检查什么地方``请把我需要的确切的过程贴出来`更容易得到答复。因为你表现出只要有人能指个正确方向,你就有完成它的能力和决心。
## 当你提问时 ## 当你提问时
@ -124,10 +124,10 @@ Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu
小心选择你要提问的场合。如果你做了下述的事情,你很可能被忽略掉或者被看作失败者: 小心选择你要提问的场合。如果你做了下述的事情,你很可能被忽略掉或者被看作失败者:
 * 在与主题不合的论坛上贴出你的问题。 * 在与主题不合的论坛上贴出你的问题。
 * 在探讨进阶技术问题的论坛张贴非常初级的问题;反之亦然。 * 在探讨进阶技术问题的论坛张贴非常初级的问题;反之亦然。
 * 在太多的不同新闻群组上重复转贴同样的问题cross-post * 在太多的不同新闻群组上重复转贴同样的问题cross-post
 * 向既非熟人也没有义务解决你问题的人发送私人电邮。 * 向既非熟人也没有义务解决你问题的人发送私人电邮。
黑客会剔除掉那些搞错场合的问题,以保护他们沟通的渠道不被无关的东西淹没。你不会想让这种事发生在自己身上的。 黑客会剔除掉那些搞错场合的问题,以保护他们沟通的渠道不被无关的东西淹没。你不会想让这种事发生在自己身上的。
@ -143,7 +143,7 @@ Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu
一般来说,在仔细挑选的公共论坛中提问,会比在私有论坛中提同样的问题更容易得到有用的回答。有几个理由可以支持这点,一是看潜在的回复者有多少,二是看观众有多少。黑客较愿意回答那些能帮助到许多人的问题。 一般来说,在仔细挑选的公共论坛中提问,会比在私有论坛中提同样的问题更容易得到有用的回答。有几个理由可以支持这点,一是看潜在的回复者有多少,二是看观众有多少。黑客较愿意回答那些能帮助到许多人的问题。
可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。就像那根最后压垮骆驼背的稻草一样,你的加入也有可能使情况走向极端 -- 已经好几次了,一些热门软件的作者从自己软件的支持中抽身出来,因为伴随而来涌入其私人邮箱的无用邮件变得无法忍受。 可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。就像那根最后压垮骆驼背的稻草一样,你的加入也有可能使情况走向极端 —— 已经好几次了,一些热门软件的作者从自己软件的支持中抽身出来,因为伴随而来涌入其私人邮箱的无用邮件变得无法忍受。
### Stack Overflow ### Stack Overflow
@ -188,9 +188,9 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
### 使用有意义且描述明确的标题 ### 使用有意义且描述明确的标题
在邮件列表、新闻群组或论坛中,大约 50 字以内的标题是抓住资深专家注意力的好机会。别用喋喋不休的```帮帮忙``````跪求``````急```(更别说```救命啊!!!!```这样让人反感的话,用这种标题会被条件反射式地忽略)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,而应该是在这点空间中使用极简单扼要的描述方式来提出问题。 在邮件列表、新闻群组或论坛中,大约 50 字以内的标题是抓住资深专家注意力的好机会。别用喋喋不休的`帮帮忙``跪求``急`(更别说`救命啊!!!!`这样让人反感的话,用这种标题会被条件反射式地忽略)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,而应该是在这点空间中使用极简单扼要的描述方式来提出问题。
一个好标题范例是```目标 -- 差异```式的描述,许多技术支持组织就是这样做的。在```目标```部分指出是哪一个或哪一组东西有问题,在```差异```部分则描述与期望的行为不一致的地方。 一个好标题范例是`目标 —— 差异`式的描述,许多技术支持组织就是这样做的。在`目标`部分指出是哪一个或哪一组东西有问题,在`差异`部分则描述与期望的行为不一致的地方。
> 蠢问题:救命啊!我的笔记本电脑不能正常显示了! > 蠢问题:救命啊!我的笔记本电脑不能正常显示了!
@ -199,11 +199,11 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
> 更聪明问题X.org 6.8.1 的鼠标光标,在某牌显卡 MV1005 芯片组环境下 - 会变形。 > 更聪明问题X.org 6.8.1 的鼠标光标,在某牌显卡 MV1005 芯片组环境下 - 会变形。
编写```目标 -- 差异``` 式描述的过程有助于你组织对问题的细致思考。是什么被影响了? 仅仅是鼠标光标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在 6.8.1 版中? 是针对某牌显卡芯片组?或者只是其中的 MV1005 型号? 一个黑客只需瞄一眼就能够立即明白你的环境**和**你遇到的问题。 编写`目标 —— 差异` 式描述的过程有助于你组织对问题的细致思考。是什么被影响了? 仅仅是鼠标光标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在 6.8.1 版中? 是针对某牌显卡芯片组?或者只是其中的 MV1005 型号? 一个黑客只需瞄一眼就能够立即明白你的环境**和**你遇到的问题。
总而言之请想像一下你正在一个只显示标题的存档讨论串Thread索引中查寻。让你的标题更好地反映问题可使下一个搜索类似问题的人能够关注这个讨论串而不用再次提问相同的问题。 总而言之请想像一下你正在一个只显示标题的存档讨论串Thread索引中查寻。让你的标题更好地反映问题可使下一个搜索类似问题的人能够关注这个讨论串而不用再次提问相同的问题。
如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题, 一个看起来像 ```Re: 测试``` 或者 ```Re: 新 bug``` 的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。 如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题, 一个看起来像 `Re: 测试` 或者 `Re: 新 bug` 的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。
对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt ,允许使用者按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。 对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt ,允许使用者按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。
@ -213,19 +213,19 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
### 使问题容易回复 ### 使问题容易回复
```请将你的回复寄到……```来结束你的问题多半会使你得不到回答。如果你觉得花几秒钟在邮件客户端设置一下回复地址都麻烦,我们也觉得花几秒钟思考你的问题更麻烦。如果你的邮件程序不支持这样做,[换个好点的](http://linuxmafia.com/faq/Mail/muas.html);如果是操作系统不支持这种邮件程序,也换个好点的。 `请将你的回复寄到……`来结束你的问题多半会使你得不到回答。如果你觉得花几秒钟在邮件客户端设置一下回复地址都麻烦,我们也觉得花几秒钟思考你的问题更麻烦。如果你的邮件程序不支持这样做,[换个好点的](http://linuxmafia.com/faq/Mail/muas.html);如果是操作系统不支持这种邮件程序,也换个好点的。
在论坛,要求通过电子邮件回复是非常无礼的,除非你相信回复的信息可能比较敏感(而且有人会为了某些未知的原因,只让你而不是整个论坛知道答案)。如果你只是想在有人回复讨论串时得到电子邮件提醒,可以要求网页论坛发送给你。几乎所有论坛都支持诸如```追踪此讨论串``````有回复时发送邮件提醒```等功能。 在论坛,要求通过电子邮件回复是非常无礼的,除非你相信回复的信息可能比较敏感(而且有人会为了某些未知的原因,只让你而不是整个论坛知道答案)。如果你只是想在有人回复讨论串时得到电子邮件提醒,可以要求网页论坛发送给你。几乎所有论坛都支持诸如`追踪此讨论串``有回复时发送邮件提醒`等功能。
### 用清晰、正确、精准并语法正确的语句 ### 用清晰、正确、精准并语法正确的语句
我们从经验中发现,粗心的提问者通常也会粗心的写程序与思考(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。 我们从经验中发现,粗心的提问者通常也会粗心的写程序与思考(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。
正确的拼写、标点符号和大小写是很重要的。一般来说,如果你觉得这样做很麻烦,不想在乎这些,那我们也觉得麻烦,不想在乎你的提问。花点额外的精力斟酌一下字句,用不着太僵硬与正式 -- 事实上,黑客文化很看重能准确地使用非正式、俚语和幽默的语句。但它**必须很**准确,而且有迹象表明你是在思考和关注问题。 正确的拼写、标点符号和大小写是很重要的。一般来说,如果你觉得这样做很麻烦,不想在乎这些,那我们也觉得麻烦,不想在乎你的提问。花点额外的精力斟酌一下字句,用不着太僵硬与正式 —— 事实上,黑客文化很看重能准确地使用非正式、俚语和幽默的语句。但它**必须很**准确,而且有迹象表明你是在思考和关注问题。
正确地拼写、使用标点和大小写,不要将```its```混淆为```it's``````loose```搞成```lose```或者将```discrete```弄成```discreet```。不要**全部用大写**,这会被视为无礼的大声嚷嚷(全部小写也好不到哪去,因为不易阅读。[Alan Cox](http://en.wikipedia.org/wiki/Alan_Cox) 也许可以这样做,但你不行)。 正确地拼写、使用标点和大小写,不要将`its`混淆为`it's``loose`搞成`lose`或者将`discrete`弄成`discreet`。不要**全部用大写**,这会被视为无礼的大声嚷嚷(全部小写也好不到哪去,因为不易阅读。[Alan Cox](http://en.wikipedia.org/wiki/Alan_Cox) 也许可以这样做,但你不行)。
更白话的说,如果你写得像是个半文盲[译注:[小白](http://zh.wikipedia.org/wiki/小白)],那多半得不到理睬。也不要使用即时通信中的简写或[火星文](http://zh.wikipedia.org/wiki/火星文),如将```的```简化为```d```会使你看起来像一个为了少打几个键而省字的小白。更糟的是,如果像个小孩似地鬼画符那绝对是在找死,可以肯定没人会理你(或者最多是给你一大堆指责与挖苦)。 更白话的说,如果你写得像是个半文盲[译注:[小白](http://zh.wikipedia.org/wiki/小白)],那多半得不到理睬。也不要使用即时通信中的简写或[火星文](http://zh.wikipedia.org/wiki/火星文),如将`的`简化为`d`会使你看起来像一个为了少打几个键而省字的小白。更糟的是,如果像个小孩似地鬼画符那绝对是在找死,可以肯定没人会理你(或者最多是给你一大堆指责与挖苦)。
如果在使用非母语的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上马虎(没错,我们通常能弄清两者的分别)。同时,除非你知道回复者使用的语言,否则请使用英语书写。繁忙的黑客一般会直接删除用他们看不懂语言写的消息。在网络上英语是通用语言,用英语书写可以将你的问题在尚未被阅读就被直接删除的可能性降到最低。 如果在使用非母语的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上马虎(没错,我们通常能弄清两者的分别)。同时,除非你知道回复者使用的语言,否则请使用英语书写。繁忙的黑客一般会直接删除用他们看不懂语言写的消息。在网络上英语是通用语言,用英语书写可以将你的问题在尚未被阅读就被直接删除的可能性降到最低。
@ -262,21 +262,21 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
* 使用 MIME 附件通常是可以的,前提是真正有内容(譬如附带的源代码或 patch而不仅仅是邮件程序生成的模板譬如只是信件内容的拷贝 * 使用 MIME 附件通常是可以的,前提是真正有内容(譬如附带的源代码或 patch而不仅仅是邮件程序生成的模板譬如只是信件内容的拷贝
* 不要发送一段文字只是一行句子但自动换行后会变成多行的邮件(这使得回复部分内容非常困难)。设想你的读者是在 80 个字符宽的终端机上阅读邮件,最好设置你的换行分割点小于 80 字。 * 不要发送一段文字只是一行句子但自动换行后会变成多行的邮件(这使得回复部分内容非常困难)。设想你的读者是在 80 个字符宽的终端机上阅读邮件,最好设置你的换行分割点小于 80 字。
* 但是,对一些特殊的文件**不要**设置固定宽度(譬如日志档案拷贝或会话记录)。数据应该原样包含,让回复者有信心他们看到的是和你看到的一样的东西。 * 但是,对一些特殊的文件**不要**设置固定宽度(譬如日志档案拷贝或会话记录)。数据应该原样包含,让回复者有信心他们看到的是和你看到的一样的东西。
* 在英语论坛中,不要使用```Quoted-Printable``` MIME 编码发送消息。这种编码对于张贴非 ASCII 语言可能是必须的,但很多邮件程序并不支持这种编码。当它们处理换行时,那些文本中四处散布的```=20```符号既难看也分散注意力,甚至有可能破坏内容的语意。 * 在英语论坛中,不要使用`Quoted-Printable` MIME 编码发送消息。这种编码对于张贴非 ASCII 语言可能是必须的,但很多邮件程序并不支持这种编码。当它们处理换行时,那些文本中四处散布的`=20`符号既难看也分散注意力,甚至有可能破坏内容的语意。
* 绝对,**永远**不要指望黑客们阅读使用封闭格式编写的文档,像微软公司的 Word 或 Excel 文件等。大多数黑客对此的反应就像有人将还在冒热气的猪粪倒在你家门口时你的反应一样。即便他们能够处理,他们也很厌恶这么做。 * 绝对,**永远**不要指望黑客们阅读使用封闭格式编写的文档,像微软公司的 Word 或 Excel 文件等。大多数黑客对此的反应就像有人将还在冒热气的猪粪倒在你家门口时你的反应一样。即便他们能够处理,他们也很厌恶这么做。
* 如果你从使用 Windows 的电脑发送电子邮件,关闭微软愚蠢的```智能引号```功能 (从[选项] > [校订] > [自动校正选项],勾选掉```智能引号```单选框),以免在你的邮件中到处散布垃圾字符。 * 如果你从使用 Windows 的电脑发送电子邮件,关闭微软愚蠢的`智能引号`功能 (从[选项] > [校订] > [自动校正选项],勾选掉`智能引号`单选框),以免在你的邮件中到处散布垃圾字符。
* 在论坛,勿滥用```表情符号``````HTML```功能(当它们提供时)。一两个表情符号通常没有问题,但花哨的彩色文本倾向于使人认为你是个无能之辈。过滥地使用表情符号、色彩和字体会使你看来像个傻笑的小姑娘。这通常不是个好主意,除非你只是对性而不是对答案感兴趣。 * 在论坛,勿滥用`表情符号``HTML`功能(当它们提供时)。一两个表情符号通常没有问题,但花哨的彩色文本倾向于使人认为你是个无能之辈。过滥地使用表情符号、色彩和字体会使你看来像个傻笑的小姑娘。这通常不是个好主意,除非你只是对性而不是对答案感兴趣。
如果你使用图形用户界面的邮件程序(如微软公司的 Outlook 或者其它类似的),注意它们的默认设置不一定满足这些要求。大多数这类程序有基于选单的```查看源代码```命令,用它来检查发送文件夹中的邮件,以确保发送的是纯文本文件同时没有一些奇怪的字符。 如果你使用图形用户界面的邮件程序(如微软公司的 Outlook 或者其它类似的),注意它们的默认设置不一定满足这些要求。大多数这类程序有基于选单的`查看源代码`命令,用它来检查发送文件夹中的邮件,以确保发送的是纯文本文件同时没有一些奇怪的字符。
### 精确的描述问题并言之有物 ### 精确的描述问题并言之有物
* 仔细、清楚地描述你的问题或 Bug 的症状。 * 仔细、清楚地描述你的问题或 Bug 的症状。
* 描述问题发生的环境(机器配置、操作系统、应用程序、以及相关的信息),提供经销商的发行版和版本号(如:```Fedora Core 4``````Slackware 9.1```等)。 * 描述问题发生的环境(机器配置、操作系统、应用程序、以及相关的信息),提供经销商的发行版和版本号(如:`Fedora Core 4``Slackware 9.1`等)。
* 描述在提问前你是怎样去研究和理解这个问题的。 * 描述在提问前你是怎样去研究和理解这个问题的。
* 描述在提问前为确定问题而采取的诊断步骤。 * 描述在提问前为确定问题而采取的诊断步骤。
* 描述最近做过什么可能相关的硬件或软件变更。 * 描述最近做过什么可能相关的硬件或软件变更。
* 尽可能的提供一个可以```重现这个问题的可控环境```的方法。 * 尽可能的提供一个可以`重现这个问题的可控环境`的方法。
尽量去揣测一个黑客会怎样反问你,在你提问之前预先将黑客们可能遇到的问题回答一遍。 尽量去揣测一个黑客会怎样反问你,在你提问之前预先将黑客们可能遇到的问题回答一遍。
@ -295,17 +295,17 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
### 别动辄声称找到 Bug ### 别动辄声称找到 Bug
当你在使用软件中遇到问题,除非你非常、**非常**的有根据,不要动辄声称找到了 Bug。提示除非你能提供解决问题的源代码补丁或者提供回归测试来表明前一版本中行为不正确否则你都多半不够完全确信。这同样适用在网页和文件如果你声称发现了文件的```Bug```,你应该能提供相应位置的修正或替代文件。 当你在使用软件中遇到问题,除非你非常、**非常**的有根据,不要动辄声称找到了 Bug。提示除非你能提供解决问题的源代码补丁或者提供回归测试来表明前一版本中行为不正确否则你都多半不够完全确信。这同样适用在网页和文件如果你声称发现了文件的`Bug`,你应该能提供相应位置的修正或替代文件。
请记得,还有许多其它使用者没遇到你发现的问题,否则你在阅读文件或搜索网页时就应该发现了(你在抱怨前[已经做了这些,是吧](#在提问之前)?)。这也意味着很有可能是你弄错了而不是软件本身有问题。 请记得,还有许多其它使用者没遇到你发现的问题,否则你在阅读文件或搜索网页时就应该发现了(你在抱怨前[已经做了这些,是吧](#在提问之前)?)。这也意味着很有可能是你弄错了而不是软件本身有问题。
编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了 Bug也就是在质疑他们的能力即使你是对的也有可能会冒犯到其中某部分人。当你在标题中嚷嚷着有```Bug```时,这尤其严重。 编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了 Bug也就是在质疑他们的能力即使你是对的也有可能会冒犯到其中某部分人。当你在标题中嚷嚷着有`Bug`时,这尤其严重。
提问时,即使你私下非常确信已经发现一个真正的 Bug最好写得像是**你**做错了什么。如果真的有 Bug你会在回复中看到这点。这样做的话如果真有 Bug维护者就会向你道歉这总比你惹恼别人然后欠别人一个道歉要好一点。 提问时,即使你私下非常确信已经发现一个真正的 Bug最好写得像是**你**做错了什么。如果真的有 Bug你会在回复中看到这点。这样做的话如果真有 Bug维护者就会向你道歉这总比你惹恼别人然后欠别人一个道歉要好一点。
### 低声下气不能代替你的功课 ### 低声下气不能代替你的功课
有些人明白他们不该粗鲁或傲慢的提问并要求得到答复,但他们选择另一个极端 -- 低声下气:```我知道我只是个可悲的新手,一个撸瑟,但...```。这既使人困扰,也没有用,尤其是伴随着与实际问题含糊不清的描述时更令人反感。 有些人明白他们不该粗鲁或傲慢的提问并要求得到答复,但他们选择另一个极端 —— 低声下气:`我知道我只是个可悲的新手,一个撸瑟,但...`。这既使人困扰,也没有用,尤其是伴随着与实际问题含糊不清的描述时更令人反感。
别用原始灵长类动物的把戏来浪费你我的时间。取而代之的是,尽可能清楚地描述背景条件和你的问题情况。这比低声下气更好地定位了你的位置。 别用原始灵长类动物的把戏来浪费你我的时间。取而代之的是,尽可能清楚地描述背景条件和你的问题情况。这比低声下气更好地定位了你的位置。
@ -315,24 +315,24 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
告诉黑客们你认为问题是怎样造成的并没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,而不是你的解释和理论;让黑客们来推测和诊断。如果你认为陈述自己的猜测很重要,清楚地说明这只是你的猜测,并描述为什么它们不起作用。 告诉黑客们你认为问题是怎样造成的并没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,而不是你的解释和理论;让黑客们来推测和诊断。如果你认为陈述自己的猜测很重要,清楚地说明这只是你的猜测,并描述为什么它们不起作用。
***蠢问题*** **蠢问题**
> 我在编译内核时接连遇到 SIG11 错误, > 我在编译内核时接连遇到 SIG11 错误,
> 我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好? > 我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好?
***聪明问题*** **聪明问题**
> 我的组装电脑是 FIC-PA2007 主机板搭载 AMD K6/233 CPU威盛 Apollo VP2 芯片组), > 我的组装电脑是 FIC-PA2007 主机板搭载 AMD K6/233 CPU威盛 Apollo VP2 芯片组),
> 256MB Corsair PC133 SDRAM 内存,在编译内核时,从开机 20 分钟以后就频频产生 SIG11 错误, > 256MB Corsair PC133 SDRAM 内存,在编译内核时,从开机 20 分钟以后就频频产生 SIG11 错误,
> 但是在头 20 分钟内从没发生过相同的问题。重新启动也没有用,但是关机一晚上就又能工作 20 分钟。 > 但是在头 20 分钟内从没发生过相同的问题。重新启动也没有用,但是关机一晚上就又能工作 20 分钟。
> 所有内存都换过了,没有效果。相关部分的标准编译记录如下…。 > 所有内存都换过了,没有效果。相关部分的标准编译记录如下…。
由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:```所有的诊断专家都来自密苏里州。``` 美国国务院的官方座右铭则是:```让我看看```(出自国会议员 Willard D. Vandiver 在 1899 年时的讲话:```我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。``` 针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧! 由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:`所有的诊断专家都来自密苏里州。` 美国国务院的官方座右铭则是:`让我看看`(出自国会议员 Willard D. Vandiver 在 1899 年时的讲话:`我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。` 针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧!
### 按发生时间先后列出问题症状 ### 按发生时间先后列出问题症状
问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。 问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。
如果挂掉的程序有诊断选项(如 -v 的详述开关),试着选择这些能在记录中增加调试信息的选项。记住,```多```不等于```好```。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。 如果挂掉的程序有诊断选项(如 -v 的详述开关),试着选择这些能在记录中增加调试信息的选项。记住,`多`不等于`好`。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。
如果你的说明很长(如超过四个段落),在开头简述问题,接下来再按时间顺序详述会有所帮助。这样黑客们在读你的记录时就知道该注意哪些内容了。 如果你的说明很长(如超过四个段落),在开头简述问题,接下来再按时间顺序详述会有所帮助。这样黑客们在读你的记录时就知道该注意哪些内容了。
@ -355,9 +355,9 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
黑客们认为问题的解决过程应该公开、透明,此过程中如果更有经验的人注意到不完整或者不当之处,最初的回复才能够、也应该被纠正。同时,作为提供帮助者可以得到一些奖励,奖励就是他的能力和学识被其他同行看到。 黑客们认为问题的解决过程应该公开、透明,此过程中如果更有经验的人注意到不完整或者不当之处,最初的回复才能够、也应该被纠正。同时,作为提供帮助者可以得到一些奖励,奖励就是他的能力和学识被其他同行看到。
当你要求私下回复时,这个过程和奖励都被中止。别这样做,让**回复者**来决定是否私下回答 -- 如果他真这么做了,通常是因为他认为问题编写太差或者太肤浅,以至于对其它人没有兴趣。 当你要求私下回复时,这个过程和奖励都被中止。别这样做,让**回复者**来决定是否私下回答 —— 如果他真这么做了,通常是因为他认为问题编写太差或者太肤浅,以至于对其它人没有兴趣。
这条规则存在一条有限的例外,如果你确信提问可能会引来大量雷同的回复时,那么这个神奇的提问句会是```向我发电邮,我将为论坛归纳这些回复```。试着将邮件列表或新闻群组从洪水般的雷同回复中解救出来是非常有礼貌的 -- 但你必须信守诺言。 这条规则存在一条有限的例外,如果你确信提问可能会引来大量雷同的回复时,那么这个神奇的提问句会是`向我发电邮,我将为论坛归纳这些回复`。试着将邮件列表或新闻群组从洪水般的雷同回复中解救出来是非常有礼貌的 —— 但你必须信守诺言。
### 清楚明确的表达你的问题以及需求 ### 清楚明确的表达你的问题以及需求
@ -367,15 +367,15 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。 要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。
所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你有用答案相当有帮助 -- 但这技巧通常和简化问题有所区别。因此,问```我想更好的理解 X可否指点一下哪有好一点说明```通常比问```你能解释一下 X 吗?```更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。 所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你有用答案相当有帮助 —— 但这技巧通常和简化问题有所区别。因此,问`我想更好的理解 X可否指点一下哪有好一点说明`通常比问`你能解释一下 X 吗?`更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。
### 询问有关代码的问题时 ### 询问有关代码的问题时
别要求他人帮你调试有问题的代码,不提示一下应该从何入手。张贴几百行的代码,然后说一声:```它不能工作```会让你完全被忽略。只贴几十行代码,然后说一句:```在第七行以后,我期待它显示 <x>,但实际出现的是 <y>```比较有可能让你得到回应。 别要求他人帮你调试有问题的代码,不提示一下应该从何入手。张贴几百行的代码,然后说一声:`它不能工作`会让你完全被忽略。只贴几十行代码,然后说一句:`在第七行以后,我期待它显示 <x>,但实际出现的是 <y>`比较有可能让你得到回应。
最有效描述程序问题的方法是提供最精简的 Bug 展示测试用例bug-demonstrating test case。什么是最精简的测试用例那是问题的缩影一小个程序片段能**刚好**展示出程序的异常行为,而不包含其他令人分散注意力的内容。怎么制作最精简的测试用例?如果你知道哪一行或哪一段代码会造成异常的行为,复制下来并加入足够重现这个状况的代码(例如,足以让这段代码能被编译/直译/被应用程序处理)。如果你无法将问题缩减到一个特定区块,就复制一份代码并移除不影响产生问题行为的部分。总之,测试用例越小越好(查看[话不在多而在精](#话不在多而在精)一节)。 最有效描述程序问题的方法是提供最精简的 Bug 展示测试用例bug-demonstrating test case。什么是最精简的测试用例那是问题的缩影一小个程序片段能**刚好**展示出程序的异常行为,而不包含其他令人分散注意力的内容。怎么制作最精简的测试用例?如果你知道哪一行或哪一段代码会造成异常的行为,复制下来并加入足够重现这个状况的代码(例如,足以让这段代码能被编译/直译/被应用程序处理)。如果你无法将问题缩减到一个特定区块,就复制一份代码并移除不影响产生问题行为的部分。总之,测试用例越小越好(查看[话不在多而在精](#话不在多而在精)一节)。
一般而言,要得到一段相当精简的测试用例并不太容易,但永远先尝试这样做的是种好习惯。这种方式可以帮助你了解如何自行解决这个问题 —- 而且即使你的尝试不成功,黑客们也会看到你在尝试取得答案的过程中付出了努力,这可以让他们更愿意与你合作。 一般而言,要得到一段相当精简的测试用例并不太容易,但永远先尝试这样做的是种好习惯。这种方式可以帮助你了解如何自行解决这个问题 — 而且即使你的尝试不成功,黑客们也会看到你在尝试取得答案的过程中付出了努力,这可以让他们更愿意与你合作。
如果你只是想让别人帮忙审查Review一下代码在信的开头就要说出来并且一定要提到你认为哪一部分特别需要关注以及为什么。 如果你只是想让别人帮忙审查Review一下代码在信的开头就要说出来并且一定要提到你认为哪一部分特别需要关注以及为什么。
@ -387,41 +387,41 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
### 去掉无意义的提问句 ### 去掉无意义的提问句
避免用无意义的话结束提问,例如```有人能帮我吗?```或者```这有答案吗?``` 避免用无意义的话结束提问,例如`有人能帮我吗?`或者`这有答案吗?`
首先:如果你对问题的描述不是很好,这样问更是画蛇添足。 首先:如果你对问题的描述不是很好,这样问更是画蛇添足。
其次:由于这样问是画蛇添足,黑客们会很厌烦你 -- 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视, 例如:```没错,有人能帮你```或者```不,没答案``` 其次:由于这样问是画蛇添足,黑客们会很厌烦你 —— 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视, 例如:`没错,有人能帮你`或者`不,没答案`
一般来说,避免用 ```是或否``````对或错``````有或没有```类型的问句,除非你想得到[是或否类型的回答](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/questions-with-yes-or-no-answers.html)。 一般来说,避免用 `是或否``对或错``有或没有`类型的问句,除非你想得到[是或否类型的回答](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/questions-with-yes-or-no-answers.html)。
### 即使你很急也不要在标题写```紧急``` ### 即使你很急也不要在标题写`紧急`
这是你的问题,不是我们的。宣称```紧急```极有可能事与愿违:大多数黑客会直接删除无礼和自私地企图即时引起关注的问题。更严重的是,```紧急```这个字(或是其他企图引起关注的标题)通常会被垃圾信过滤器过滤掉 -- 你希望能看到你问题的人可能永远也看不到。 这是你的问题,不是我们的。宣称`紧急`极有可能事与愿违:大多数黑客会直接删除无礼和自私地企图即时引起关注的问题。更严重的是,`紧急`这个字(或是其他企图引起关注的标题)通常会被垃圾信过滤器过滤掉 —— 你希望能看到你问题的人可能永远也看不到。
有半个例外的情况是,如果你是在一些很高调,会使黑客们兴奋的地方,也许值得这样去做。在这种情况下,如果你有时间压力,也很有礼貌地提到这点,人们也许会有兴趣回答快一点。 有半个例外的情况是,如果你是在一些很高调,会使黑客们兴奋的地方,也许值得这样去做。在这种情况下,如果你有时间压力,也很有礼貌地提到这点,人们也许会有兴趣回答快一点。
当然,这风险很大,因为黑客们兴奋的点多半与你的不同。譬如从 NASA 国际空间站International Space Station发这样的标题没有问题但用自我感觉良好的慈善行为或政治原因发肯定不行。事实上张贴诸如```紧急:帮我救救这个毛绒绒的小海豹!```肯定让你被黑客忽略或惹恼他们,即使他们认为毛绒绒的小海豹很重要。 当然,这风险很大,因为黑客们兴奋的点多半与你的不同。譬如从 NASA 国际空间站International Space Station发这样的标题没有问题但用自我感觉良好的慈善行为或政治原因发肯定不行。事实上张贴诸如`紧急:帮我救救这个毛绒绒的小海豹!`肯定让你被黑客忽略或惹恼他们,即使他们认为毛绒绒的小海豹很重要。
如果你觉得这点很不可思议,最好再把这份指南剩下的内容多读几遍,直到你弄懂了再发文。 如果你觉得这点很不可思议,最好再把这份指南剩下的内容多读几遍,直到你弄懂了再发文。
### 礼多人不怪,而且有时还很有帮助 ### 礼多人不怪,而且有时还很有帮助
彬彬有礼,多用```请``````谢谢您的关注```,或```谢谢你的关照```。让大家都知道你对他们花时间免费提供帮助心存感激。 彬彬有礼,多用`请``谢谢您的关注`,或`谢谢你的关照`。让大家都知道你对他们花时间免费提供帮助心存感激。
坦白说,这一点并没有比清晰、正确、精准并合法语法和避免使用专用格式重要(也不能取而代之)。黑客们一般宁可读有点唐突但技术上鲜明的 Bug 报告,而不是那种有礼但含糊的报告。(如果这点让你不解,记住我们是按问题能教给我们什么来评价问题的价值的) 坦白说,这一点并没有比清晰、正确、精准并合法语法和避免使用专用格式重要(也不能取而代之)。黑客们一般宁可读有点唐突但技术上鲜明的 Bug 报告,而不是那种有礼但含糊的报告。(如果这点让你不解,记住我们是按问题能教给我们什么来评价问题的价值的)
然而,如果你有一串的问题待解决,客气一点肯定会增加你得到有用回应的机会。 然而,如果你有一串的问题待解决,客气一点肯定会增加你得到有用回应的机会。
(我们注意到,自从本指南发布后,从资深黑客那里得到的唯一严重缺陷反馈,就是对预先道谢这一条。一些黑客觉得```先谢了```意味着事后就不用再感谢任何人的暗示。我们的建议是要么先说```先谢了```**然后**事后再对回复者表示感谢,或者换种方式表达感激,譬如用```谢谢你的关注``````谢谢你的关照```。) (我们注意到,自从本指南发布后,从资深黑客那里得到的唯一严重缺陷反馈,就是对预先道谢这一条。一些黑客觉得`先谢了`意味着事后就不用再感谢任何人的暗示。我们的建议是要么先说`先谢了`**然后**事后再对回复者表示感谢,或者换种方式表达感激,譬如用`谢谢你的关注``谢谢你的关照`。)
### 问题解决后,加个简短的补充说明 ### 问题解决后,加个简短的补充说明
问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个说明比较恰当。 问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个说明比较恰当。
最理想的方式是向最初提问的话题回复此消息,并在标题中包含```已修正``````已解决```或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串```问题 X``````问题 X - 已解决```的潜在回复者就明白不用再浪费时间了(除非他个人觉得```问题 X```的有趣),因此可以利用此时间去解决其它问题。 最理想的方式是向最初提问的话题回复此消息,并在标题中包含`已修正``已解决`或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串`问题 X``问题 X - 已解决`的潜在回复者就明白不用再浪费时间了(除非他个人觉得`问题 X`的有趣),因此可以利用此时间去解决其它问题。
补充说明不必很长或是很深入;简单的一句```你好,原来是网线出了问题!谢谢大家 Bill```比什么也不说要来的好。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇大论更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。 补充说明不必很长或是很深入;简单的一句`你好,原来是网线出了问题!谢谢大家 Bill`比什么也不说要来的好。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇大论更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。
对于有深度的问题,张贴调试记录的摘要是有帮助的。描述问题的最终状态,说明是什么解决了问题,在此**之后**才指明可以避免的盲点。避免盲点的部分应放在正确的解决方案和其它总结材料之后,而不要将此信息搞成侦探推理小说。列出那些帮助过你的名字,会让你交到更多朋友。 对于有深度的问题,张贴调试记录的摘要是有帮助的。描述问题的最终状态,说明是什么解决了问题,在此**之后**才指明可以避免的盲点。避免盲点的部分应放在正确的解决方案和其它总结材料之后,而不要将此信息搞成侦探推理小说。列出那些帮助过你的名字,会让你交到更多朋友。
@ -438,9 +438,9 @@ Stack Exchange 已经成长到[超过一百个网站](http://stackexchange.com/s
<a id="RTFM"></a> <a id="RTFM"></a>
### RTFM 和 STFW如何知道你已完全搞砸了 ### RTFM 和 STFW如何知道你已完全搞砸了
有一个古老而神圣的传统:如果你收到```RTFM Read The Fucking Manual```的回应,回答者认为你**应该去读他妈的手册**。当然,基本上他是对的,你应该去读一读。 有一个古老而神圣的传统:如果你收到`RTFM Read The Fucking Manual`的回应,回答者认为你**应该去读他妈的手册**。当然,基本上他是对的,你应该去读一读。
RTFM 有一个年轻的亲戚。如果你收到```STFWSearch The Fucking Web```的回应,回答者认为你**应该到他妈的网上搜索**过了。那人多半也是对的,去搜索一下吧。(更温和一点的说法是 **[Google 是你的朋友](http://lmgtfy.com/)** RTFM 有一个年轻的亲戚。如果你收到`STFWSearch The Fucking Web`的回应,回答者认为你**应该到他妈的网上搜索**过了。那人多半也是对的,去搜索一下吧。(更温和一点的说法是 **[Google 是你的朋友](http://lmgtfy.com/)**
在论坛,你也可能被要求去爬爬论坛的旧文。事实上,有人甚至可能热心地为你提供以前解决此问题的讨论串。但不要依赖这种关照,提问前应该先搜索一下旧文。 在论坛,你也可能被要求去爬爬论坛的旧文。事实上,有人甚至可能热心地为你提供以前解决此问题的讨论串。但不要依赖这种关照,提问前应该先搜索一下旧文。
@ -455,7 +455,7 @@ RTFM 有一个年轻的亲戚。如果你收到```STFWSearch The Fucking Web
如果你看不懂回应别立刻要求对方解释。像你以前试着自己解决问题时那样利用手册FAQ网络身边的高手先试着去搞懂他的回应。如果你真的需要对方解释记得表现出你已经从中学到了点什么。 如果你看不懂回应别立刻要求对方解释。像你以前试着自己解决问题时那样利用手册FAQ网络身边的高手先试着去搞懂他的回应。如果你真的需要对方解释记得表现出你已经从中学到了点什么。
比方说,如果我回答你:```看来似乎是 zentry 卡住了;你应该先清除它。```,然后,这是一个**很糟的**后续问题回应:```zentry 是什么?``` **好**的问法应该是这样:```哦~~~我看过说明了但是只有 -z 和 -p 两个参数中提到了 zentries而且还都没有清楚的解释如何清除它。你是指这两个中的哪一个吗还是我看漏了什么``` 比方说,如果我回答你:`看来似乎是 zentry 卡住了;你应该先清除它。`,然后,这是一个**很糟的**后续问题回应:`zentry 是什么?` **好**的问法应该是这样:`哦~~~我看过说明了但是只有 -z 和 -p 两个参数中提到了 zentries而且还都没有清楚的解释如何清除它。你是指这两个中的哪一个吗还是我看漏了什么`
### 处理无礼的回应 ### 处理无礼的回应
@ -469,11 +469,11 @@ RTFM 有一个年轻的亲戚。如果你收到```STFWSearch The Fucking Web
Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http://www.mit.edu/~jcb/tact.html)**)。 Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http://www.mit.edu/~jcb/tact.html)**)。
在下一节,我们会谈到另一个问题,当**你**行为不当时所会受到的```冒犯``` 在下一节,我们会谈到另一个问题,当**你**行为不当时所会受到的`冒犯`
## 如何避免扮演失败者 ## 如何避免扮演失败者
在黑客社区的论坛中有那么几次你可能会搞砸 -- 以本指南所描述到的或类似的方式。而你会在公开场合中被告知你是如何搞砸的,也许攻击的言语中还会带点夹七夹八的颜色。 在黑客社区的论坛中有那么几次你可能会搞砸 —— 以本指南所描述到的或类似的方式。而你会在公开场合中被告知你是如何搞砸的,也许攻击的言语中还会带点夹七夹八的颜色。
这种事发生以后,你能做的最糟糕的事莫过于哀嚎你的遭遇、宣称被口头攻击、要求道歉、高声尖叫、憋闷气、威胁诉诸法律、向其雇主报怨、忘了关马桶盖等等。相反地,你该这么做: 这种事发生以后,你能做的最糟糕的事莫过于哀嚎你的遭遇、宣称被口头攻击、要求道歉、高声尖叫、憋闷气、威胁诉诸法律、向其雇主报怨、忘了关马桶盖等等。相反地,你该这么做:
@ -481,7 +481,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
社区的标准不会自行维持,它们是通过参与者积极而**公开地**执行来维持的。不要哭嚎所有的批评都应该通过私下的邮件传送,它不是这样运作的。当有人评论你的一个说法有误或者提出不同看法时,坚持声称受到个人攻击也毫无益处,这些都是失败者的态度。 社区的标准不会自行维持,它们是通过参与者积极而**公开地**执行来维持的。不要哭嚎所有的批评都应该通过私下的邮件传送,它不是这样运作的。当有人评论你的一个说法有误或者提出不同看法时,坚持声称受到个人攻击也毫无益处,这些都是失败者的态度。
也有其它的黑客论坛,受过高礼节要求的误导,禁止参与者张贴任何对别人帖子挑毛病的消息,并声称```如果你不想帮助用户就闭嘴。``` 结果造成有想法的参与者纷纷离开,这么做只会使它们沦为毫无意义的唠叨与无用的技术论坛。 也有其它的黑客论坛,受过高礼节要求的误导,禁止参与者张贴任何对别人帖子挑毛病的消息,并声称`如果你不想帮助用户就闭嘴。` 结果造成有想法的参与者纷纷离开,这么做只会使它们沦为毫无意义的唠叨与无用的技术论坛。
夸张的讲法是:你要的是**友善**(以上述方式)还是有用?两个里面挑一个。 夸张的讲法是:你要的是**友善**(以上述方式)还是有用?两个里面挑一个。
@ -520,7 +520,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
<a id="q1"></a> <a id="q1"></a>
> 问题:我能在哪找到 X 程序或 X 资源? > 问题:我能在哪找到 X 程序或 X 资源?
回答:就在我找到它的地方啊,白痴 -- 搜索引擎的那一头。天哪!难道还有人不会用 [Google](http://www.google.com) 吗? 回答:就在我找到它的地方啊,白痴 —— 搜索引擎的那一头。天哪!难道还有人不会用 [Google](http://www.google.com) 吗?
<a id="q2"></a> <a id="q2"></a>
> 问题:我怎样用 X 做 Y > 问题:我怎样用 X 做 Y
@ -530,19 +530,17 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
<a id="q3"></a> <a id="q3"></a>
>问题:如何设定我的 shell 提示?? >问题:如何设定我的 shell 提示??
回答:如果你有足够的智慧提这个问题,你也该有足够的智慧去 [RTFM](#RTFM),然后自己去找出来。 回答:如果你有足够的智慧提这个问题,你也该有足够的智慧去 [RTFM](#RTFM),然后自己去找出来。
<a id="q4"></a> <a id="q4"></a>
> 问题:我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 档案转换为 TeX 格式吗? > 问题:我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 档案转换为 TeX 格式吗?
回答:试试看就知道了。如果你试过,你既知道了答案,就不用浪费我的时间了。 回答:试试看就知道了。如果你试过,你既知道了答案,就不用浪费我的时间了。
<a id="q5"></a> <a id="q5"></a>
> 问题:我的{程序/设定/SQL 语句}不工作 > 问题:我的{程序/设定/SQL 语句}不工作
回答:这不算是问题吧,我对要我问你二十个问题才找得出你真正问题的问题没兴趣 -- 我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三种 回答:这不算是问题吧,我对要我问你二十个问题才找得出你真正问题的问题没兴趣 —— 我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三种
* 你还有什么要补充的吗? * 你还有什么要补充的吗?
* 真糟糕,希望你能搞定。 * 真糟糕,希望你能搞定。
@ -565,7 +563,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的 Linux 使用群组者寻求实际的指导吧(你能在[这儿](http://www.linux.org/groups/index.html)找到使用者群组的清单)。 回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的 Linux 使用群组者寻求实际的指导吧(你能在[这儿](http://www.linux.org/groups/index.html)找到使用者群组的清单)。
注意:如果安装问题与某 Linux 的发行版有关,在它的邮件列表、论坛或本地使用者群组中提问也许是恰当的。此时,应描述问题的准确细节。在此之前,先用 ```Linux``` 和**所有**被怀疑的硬件作关键词仔细搜索。 注意:如果安装问题与某 Linux 的发行版有关,在它的邮件列表、论坛或本地使用者群组中提问也许是恰当的。此时,应描述问题的准确细节。在此之前,先用 `Linux` 和**所有**被怀疑的硬件作关键词仔细搜索。
<a id="q9"></a> <a id="q9"></a>
> 问题:我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢? > 问题:我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?
@ -577,45 +575,45 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
最后,我将透过举一些例子,来说明怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。 最后,我将透过举一些例子,来说明怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。
****蠢问题**** **蠢问题**
> 我可以在哪儿找到关于 Foonly Flurbamatic 的资料? > 我可以在哪儿找到关于 Foonly Flurbamatic 的资料?
这种问法无非想得到 [STFW](#RTFM) 这样的回答。 这种问法无非想得到 [STFW](#RTFM) 这样的回答。
****聪明问题**** **聪明问题**
> 我用 Google 搜索过 "Foonly Flurbamatic 2600",但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料? > 我用 Google 搜索过 "Foonly Flurbamatic 2600",但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料?
这个问题已经 STFW 过了,看起来他真的遇到了麻烦。 这个问题已经 STFW 过了,看起来他真的遇到了麻烦。
****蠢问题**** **蠢问题**
> 我从 foo 项目找来的源码没法编译。它怎么这么烂? > 我从 foo 项目找来的源码没法编译。它怎么这么烂?
他觉得都是别人的错,这个傲慢自大的提问者。 他觉得都是别人的错,这个傲慢自大的提问者。
****聪明问题**** **聪明问题**
> foo 项目代码在 Nulix 6.2 版下无法编译通过。我读过了 FAQ但里面没有提到跟 Nulix 有关的问题。这是我编译过程的记录,我有什么做的不对的地方吗? > foo 项目代码在 Nulix 6.2 版下无法编译通过。我读过了 FAQ但里面没有提到跟 Nulix 有关的问题。这是我编译过程的记录,我有什么做的不对的地方吗?
提问者已经指明了环境,也读过了 FAQ还列出了错误并且他没有把问题的责任推到别人头上他的问题值得被关注。 提问者已经指明了环境,也读过了 FAQ还列出了错误并且他没有把问题的责任推到别人头上他的问题值得被关注。
****蠢问题**** **蠢问题**
> 我的主机板有问题了,谁来帮我? > 我的主机板有问题了,谁来帮我?
某黑客对这类问题的回答通常是:```好的,还要帮你拍拍背和换尿布吗?```,然后按下删除键。 某黑客对这类问题的回答通常是:`好的,还要帮你拍拍背和换尿布吗?`,然后按下删除键。
****聪明问题**** **聪明问题**
> 我在 S2464 主机板上试过了 X 、 Y 和 Z ,但没什么作用,我又试了 A 、 B 和 C 。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题? > 我在 S2464 主机板上试过了 X 、 Y 和 Z ,但没什么作用,我又试了 A 、 B 和 C 。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题?
这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。 这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。
在最后一个问题中,注意```告诉我答案``````给我启示,指出我还应该做什么诊断工作```之间微妙而又重要的区别。 在最后一个问题中,注意`告诉我答案``给我启示,指出我还应该做什么诊断工作`之间微妙而又重要的区别。
事实上,后一个问题源自于 2001 年 8 月在 Linux 内核邮件列表lkml上的一个真实的提问。我Eric就是那个提出问题的人。我在 Tyan S2464 主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决这一问题的重要信息。 事实上,后一个问题源自于 2001 年 8 月在 Linux 内核邮件列表lkml上的一个真实的提问。我Eric就是那个提出问题的人。我在 Tyan S2464 主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决这一问题的重要信息。
@ -635,7 +633,7 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
有许多网上的以及本地的使用者群组,由热情的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。 有许多网上的以及本地的使用者群组,由热情的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。
另外,你可以向很多商业公司寻求帮助,不论公司大还是小。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了-- 完全可能如此 --你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。 另外,你可以向很多商业公司寻求帮助,不论公司大还是小。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了 —— 完全可能如此 —— 你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。
对像是 Linux 这种大众化的软件,每个开发者至少会对应到上万名使用者。根本不可能由一个人来处理来自上万名使用者的求助电话。要知道,即使你要为这些协助付费,和你所购买的同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开源软件的要高得多,且内容也没那么丰富)。 对像是 Linux 这种大众化的软件,每个开发者至少会对应到上万名使用者。根本不可能由一个人来处理来自上万名使用者的求助电话。要知道,即使你要为这些协助付费,和你所购买的同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开源软件的要高得多,且内容也没那么丰富)。
@ -647,19 +645,19 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
**如果你不确定,一定要说出来**!一个听起来权威的错误回复比没有还要糟,别因为听起来像个专家很好玩,就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。 **如果你不确定,一定要说出来**!一个听起来权威的错误回复比没有还要糟,别因为听起来像个专家很好玩,就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。
**如果帮不了忙,也别妨碍他**。不要在实际步骤上开玩笑,那样也许会毁了使用者的设置 --有些可怜的呆瓜会把它当成真的指令。 **如果帮不了忙,也别妨碍他**。不要在实际步骤上开玩笑,那样也许会毁了使用者的设置 —— 有些可怜的呆瓜会把它当成真的指令。
**试探性的反问以引出更多的细节**。如果你做得好,提问者可以学到点东西 --你也可以。试试将蠢问题转变成好问题,别忘了我们都曾是新手。 **试探性的反问以引出更多的细节**。如果你做得好,提问者可以学到点东西 —— 你也可以。试试将蠢问题转变成好问题,别忘了我们都曾是新手。
尽管对那些懒虫抱怨一声 RTFM 是正当的,能指出文件的位置(即使只是建议个 Google 搜索关键词)会更好。 尽管对那些懒虫抱怨一声 RTFM 是正当的,能指出文件的位置(即使只是建议个 Google 搜索关键词)会更好。
**如果你决定回答,就请给出好的答案**。当别人正在用错误的工具或方法时别建议笨拙的权宜之计wordaround应推荐更好的工具重新界定问题。 **如果你决定回答,就请给出好的答案**。当别人正在用错误的工具或方法时别建议笨拙的权宜之计wordaround应推荐更好的工具重新界定问题。
**正面的回答问题**!如果这个提问者已经很深入的研究而且也表明已经试过 X 、 Y 、 Z 、 A 、 B 、 C 但没得到结果,回答 ```试试看 A 或是 B``` 或者 ```试试 X 、 Y 、 Z 、 A 、 B 、 C``` 并附上一个链接一点用都没有。 **正面的回答问题**!如果这个提问者已经很深入的研究而且也表明已经试过 X 、 Y 、 Z 、 A 、 B 、 C 但没得到结果,回答 `试试看 A 或是 B` 或者 `试试 X 、 Y 、 Z 、 A 、 B 、 C` 并附上一个链接一点用都没有。
**帮助你的社区从问题中学习**。当回复一个好问题时,问问自己```如何修改相关文件或常见问题文件以免再次解答同样的问题?```,接着再向文件维护者发一份补丁。 **帮助你的社区从问题中学习**。当回复一个好问题时,问问自己`如何修改相关文件或常见问题文件以免再次解答同样的问题?`,接着再向文件维护者发一份补丁。
如果你是在研究一番后才做出的回答,**展现你的技巧而不是直接端出结果**。毕竟```授人以鱼不如授人以渔``` 如果你是在研究一番后才做出的回答,**展现你的技巧而不是直接端出结果**。毕竟`授人以鱼不如授人以渔`
## 相关资源 ## 相关资源
@ -668,4 +666,4 @@ Jeff Bigler 的观察总结和这个相关也值得一读 (**[tact filters](http
当你发布软件或补丁时,试着按[软件发布实践](http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html)操作。 当你发布软件或补丁时,试着按[软件发布实践](http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html)操作。
## 鸣谢 ## 鸣谢
Evelyn Mitchel 贡献了一些愚蠢问题例子并启发了编写```如何更好地回答问题```这一节, Mikhail Ramendik 贡献了一些特别有价值的建议和改进。 Evelyn Mitchel 贡献了一些愚蠢问题例子并启发了编写`如何更好地回答问题`这一节, Mikhail Ramendik 贡献了一些特别有价值的建议和改进。