前言
在黑客的世界里,你提出一个技术问题后,最终能否得到满意的答案,取决于你的提问方式。这个指南就是关于如何正确提问的。现在开源软件已经越来越多了,你可以从高手、黑客那里得到很多问题的解答。和黑客相比,一般的高手会对新手更耐心一些。但即便如此,如果你按照本指南中推荐的方式,像对待黑客那样对待所有高手,你会更高效地获得优质解答。
高手、黑客喜欢有挑战性、需要深入思考的问题,如果不是这样,我们也成不了黑客。如果你提出一个值得反复咀嚼玩味的问题,我们会对你感激不尽。好的问题可以刺激我们的思维,可以加深我们对问题的理解,还经常揭露出我们之前没有意识到、思考过的地方。
但黑客也并不是对新手和简单的问题不予理睬,我们只是对那些提问前不愿自己思考,不愿自己做足功课的人态度粗鲁。这种人是时间杀手,他们只知索取,从不付出,把我们本该花在更值得的问题和人上的时间都浪费了。我们回答问题的方式适合于那些真正对问题感兴趣并且愿意积极主动地参与到问题的解决中的人。我们从繁忙的工作中抽出时间回答问题,为了做到价值最大化,我们会果断地过滤掉那些时间杀手的问题。
无知没关系,装白痴就不好了。你不需要现在就已经是个行家,但你要具备最终能使你成为一个高手的特质:机敏、深入思考、善于观察、乐于主动参与问题的解决。如果你做不到,那你最好付钱请人回答你的问题,而不是让黑客帮你。想快速得到解答的最好方法就是表现出你的聪明、自信、有自己对问题的思考,只是在某个特定问题上遇到了麻烦而已。
你不需要现在就已经是个行家,但你要具备最终能使你成为一个高手的特质:机敏、深入思考、善于观察、乐于主动参与问题的解决。
提问之前
1. 尝试在你准备提问的论坛的旧文章中找答案
2.Google:既要搜索网页也要搜索谷歌论坛
3. 尝试阅读官方指导手册找答案
4. 尝试阅读常见问题文件(FAQ)找答案
5. 试着通过试验寻找答案
6. 想想有没有自己认识的朋友知道答案
7. 如果你是个程序员,尝试通过读源码找答案
当你提问的时候,要说明自己已经做了上述努力,这样对方就知道你不是个伸手党,帮助你不是在浪费时间。最好同时说明你从这些尝试当中学到了什么,因为我们更乐于帮助那些真正能够从答案中学到东西的人。
遇到任何错误信息提示,都可以直接用Google搜索那些错误提示,这可能会直接搜到可以解决问题的文件。即使找不到,在提问时说明“我搜索了这些关键字,但没找到任何有用的东西”也是个好习惯,因为它至少表明这些问题是搜索不到结果的。这也会把那些遇到相似问题的人通过搜索引擎引导到你的帖子。
别着急,不要期望随便Google一下就能解决复杂的问题。读读手册、FAQ等等,努力思考,尝试着独立解决这个问题。真正的高手能够从你的提问方式中分辨出你在提问前做了多少准备和思考,他们更愿意帮助那些提问前已经尝试独立解决问题的人。
真正的高手能够从你的提问方式中分辨出你在提问前做了多少准备和思考,他们更愿意帮助那些提问已经尝试独立解决问题的人。
绝对不要认为别人有义务帮助你,你并没有付钱给对方。你只能通过提出一个经过自己努力搜索、思考的,有价值的问题来争取获得答案。要知道一个好问题的解答,不只会让你自己取得进步,也会为整个社群做出贡献。
提问之时
一、找对地方
慎选提问的论坛
1.不要去与主题不合的论坛提问。黑客为防止论坛的沟通渠道被无关的东西干扰,会删除那些搞错地方的问题。所以第一步就是要Google找到与你的问题最相关的论坛,先去看旧文章、FAQ等等,如果经过上述努力依然找不到答案,那就发帖提问吧。
2.不要去进阶技术论坛提问太过初级的问题,反之亦然。选择论坛、讨论组或邮件列表的时候,不要太过相信它们的名字,阅读About、FAQ等来确定这是不是与你的问题相关的地方。发帖前先读一点旧文,这样你能对它们的文化、做事方式更了解。
3.不要把同一个问题同时转帖太多个讨论组。这会像机关枪扫射一样,会打扰大家。要一步步慢慢来。
4.不要给一个既不是熟人也没有义务回答你的问题的人发私人邮件。向自己不熟悉的人或论坛发邮件是很危险的。不要假定一个提供内容丰富的网页的人就会愿意做你的免费顾问。也不要对自己的问题是否会受到欢迎做太过乐观的估计,如果你不确定自己的问题在这里是否会受欢迎,那就去别处提问,或者干脆不要发邮件。
事实上,那些高阶黑客和流行软件的创造者们已经收到了太多的错发信息、邮件。如果你不以正确的方式提问,你就会是压死骆驼的最后一棵稻草。很多自愿给大家解答的黑客后来选择退出就是因为以错误的方式提问的私人邮件汹涌而来,让人不堪承受。
谨慎提问的论坛:1.不要去与主题不合的论坛提问。2.不要去进阶技术论坛提问太过初级的问题,反之亦然。3.不要把同一个问题同时转帖太多个讨论组。4.不要给一个既不是熟人也没有义务回答你的问题的人发私人邮件。
二、说清问题
用清晰、精确的语句书写
表达尽量显得专业一点
如果你是在非母语论坛提问,那么你有一些语法和拼写错误可以被原谅,但不能因此就在思考上错误百出。
除非你知道对方使用哪种语言,否则请用英语,因为英语是网络中的工作语言。
使用易读取、易理解的标准格式提问
使用纯文本,而不是超文本标记语言(HTML)。
使用描述明确的标题
想象你在一个只显示标题的讨论区查找问题的答案——如果你能让你的标题完全反映你的问题,那将来其他遇到类似问题的人就不必再次重复提问同样的问题。
50字(这里指英文)以内的标题最能得到资深专家的注意。
不要用“急、在线等、跪求、救命啊”这类词语,这会令人条件反射式地生厌,从而一律忽略这些问题。
更不要试图描述你的痛苦来加深我们的印象,请尽可能简洁精确地说清楚你的问题。
如果你想在回复中提问,一定要修改你的标题,以表明你是在提问。这时用“回复”开头肯定是不可取的。还有,在不影响连贯性的前提下,尽可能减少对前文的引用,这样对后来的人来说读起来更易懂。
精确且全面地说明你的问题
清楚地说明你的问题是什么。尽可能预估黑客可能会问你哪些问题,在你请求帮助时就先回答这些问题。
1)说明你的问题发生的环境:电脑配置、操作系统、应用等等,提供版本和版本号。
2)描述在提问前你是怎么研究和理解这个问题的。
3)描述你为了确定问题所在做了什么,以及你怎样阻止问题造成进一步的影响。
4)如果你想到最近做过任何可能与此相关的软件安装、升级等,请说明。
5)如果可能的话,提供在可控环境下重现这个问题的方法。如果你发现的是个代码中的bug,那这一点非常重要。如果这时你能提供重现这个问题的环境,那么你得到解答的几率和速度都会显著提高。
话不在多而在精。不要把一大堆代码、数据一股脑放进提问请求当中,尽可能精练、简洁。这样做有三个好处:首先,表现出你为简化问题付出了努力,可以使你更容易获得答案;其次,简化问题能使你更可能获得有用的答案;第三,在简化你的问题的过程中,你很可能会找到解决办法或权变措施。
要想理解专家的世界,就要理解专家、大牛们什么都不缺,就缺时间。你的问题需要对方花费的时间越少,你越可能得到那些大忙人的回复。因此,在提问时想方设法少花对方的时间是有必要的。比如,“我想解释X问题,您能给我点指导、提示吗?”比“您能帮我解释X问题吗?”要好。再比如你有一段代码出错了,让对方帮助解释哪里出错了,比直接让对方帮你改正要更好。
按发生的先后顺序列出你的问题
最有助于找到问题所在的线索就是在问题出现前你做了些什么,电脑、软件对你的操作有什么反应。如果是在命令行进程中,那么提供系统日志,并相关的几十行命令会利于解决问题。
如果崩溃的程序有诊断选项,那就试着选择能在记录中增加调试信息的选项。记住,多不等于好,试着选择合适的调试级别,以便提供有用的信息,而不是产生大量的垃圾信息。
如果你的问题内容的确很多,那就在开头先简述你的问题。然后按照发生的先后顺序详述你的问题。这样,黑客就会知道该注意哪些内容了。
先说清目标,再说明步骤
如果你是想知道怎样达成某个目标,而不是报告bug,那首先要说明你的目标是什么。然后再描述你采取的步骤以及被卡在了哪里。
通常,需要技术帮助的人心中有个目标要达成,被卡在了自己选择的技术路径的某一步,然后他们就问这一步应该怎么走。他们没有意识到的是,他们选择的技术路径本身可能就是错的。
蠢问题:我怎么才能从某绘图程序的颜色选择器中选择十六进制的RGB值呢?
好问题:我想改变这张图片的颜色。但我唯一能想到的方法就是分别编辑每个区块的颜色,但我无法再某绘图程序的颜色选择器中选择十六进制的RGB值。要怎么做呢?——好问题的提问方式相当于告诉黑客,如果你能推荐给我一个更好用的绘图软件,那也可以。
一种好的提问格式:目标—差异。目标部分说明是哪一个或哪一组东西出问题了,差异部分说明与期望得到的结果差在哪里。
蠢问题:救命啊!我的笔记本不能正常显示了。
好问题:X.org 6.8.1光标会变形,某品牌显卡MV1005芯片组。
更好的问题:X.org 6.8.1的光标,在某牌显卡MV1005芯片组环境下 —会变形。
写目标—差异式问题描述的过程有助于你更细致地分析问题。是什么受到了影响?只是光标还是还有其他部分?只在X.org的6.8.1版中出现?是针对某种显卡才会出现吗?问题描述的足够清晰准确,黑客一眼就能明白你所处的环境和你所遇到的问题是什么。
多描述问题本身,而不是你的猜想
告诉黑客你认为问题是怎么造成的没有多大帮助,因为如果你认为的是对的,那你自己早就把问题解决了,又何必求助呢?所以你要做到的就是把问题的原原本本地告诉对方,让他们去做出诊断。如果你实在认为自己的猜测很重要,那就请清楚地标记这只是你的猜测,并且要说明为什么这并没有解决你的问题。
蠢问题:我在编译内核时接连遇到SIG11错误,我猜可能是主板上的某根电路丝断了。有什么好办法检查吗?
好问题:我的组装电脑是某某主板搭载某某芯片,某某RAM。在编译内核时,开始20分钟后频频出现SIG11错误,但前20分钟内从不出错。重启没用,但关机一晚上第二天又可以正常工作20分钟。换掉RAM也没用。相关部分的标准编译记录如下......
上述规则可能对很多人来说难以实行,但要知道的是:所有的高手见不到真相都不会轻信。在高手看来, 这不是是否相信你的问题,而是为了更好地解决问题,必须让我们看到到底出现了什么问题,而不是只看到你的猜测。
去掉无意义的问句
不要以类似“谁能帮帮我?”或“这有答案吗?”结尾。首先,如果你的问题本身说明的就不够清晰,这样的结尾只能是画蛇添足;其次,因为这是画蛇添足,黑客们会对此很反感,他们很可能会以符合逻辑但毫无用处的回答来表示他们的厌恶——“我可以帮你”或“没人能帮你”,让后就没有然后了,以牙还牙。
关于代码的问题
不说明你遇到了什么问题,直接把几百行代码发过去要求对方帮助找bug的人——有多远滚多远。正确的做法是把相关的几十行代码发过去之后,要同时说明“执行第7行之后,应该得到X,但我得到的是Y”,请问是哪里出错了?
精确描述代码问题的最有效方式就是提供一个最小化bug说明实例。也就是说,如果你知道大概是哪一部分代码导致了这个问题,那就把这部分代码单独拿出来,然后配合必要的相关代码,只要足够重现问题即可。如果你不知道到底是哪段代码导致了这个问题,那就不断去删减那些你认为不相关的代码,一直删减到最少。当然,最小化bug说明实例有时是做不到的,但尝试的过程本身仍是有意义的。它有可能会让你找到解决问题的办法,黑客知道你这么做也会更想帮助你。
如果你只是想进行代码评审,那就要在一开始说明哪些部分需要评审以及为什么。
三、几条“禁令”
别动辄声称你发现了bug、错误
当你在使用某软件时发现了问题,除非你可以提供源码补丁来修正这个问题,或者做回归测试出现错误(所谓回归测试,是指对代码进行修改后,某一在旧版本中可以正常运行的功能在新版本中反而不能正常运行了,如果这不是故意要去掉的或已经没必要存在的功能,那就说明新版本bug),不要轻易声称自己发现了个bug。这也适用于网页和文件,如果你认为自己发现了一个文件中的错误,你应该提供正确的文本来替换。
你要明白的是,还有很多其他用户并没有遇到你的问题,否则你在遇到问题后早就已经在FAQ或Google中找到解决办法了。这就说明很可能是你自己操作有误,而不是软件有bug。
做软件的人为此付出了巨大努力,如果你声称自己发现了bug,这首先是对他们能力的怀疑。即使你是对的,也可能会冒犯他们中的一些人,尤其是当你在标题栏嚷嚷有bug的话。
即使你确定自己的确发现了个bug,提问时最好也写的像是是自己操作有什么错误。如果最终真的是个bug,你会收到答案和歉意。但如果以一开始就出言不逊,万一最终证实使你操作有误,那你就医给对方道歉了。
不要把你课程作业的问题贴上来
黑客很容易看出你这是课程的作业,这是需要你自己动脑完成的任务,这样你才能进步。你可以寻求一点点的提示,但没人会给你最终的答案。
如果你在课程作业中确实遇到了自己解决不了的问题,那可以去用户论坛求助,黑客应该不会理你,但其它用户可能会给你一点提示。
装可怜没用,做足功课才是王道
读到这里,一些人知道了问问题时态度要好,但却走到了另一个极端、歧途——低声下气、卑躬屈膝。“我知道我只是个可怜的loser,但是......”。这只会分散对方的注意力,对你获得答案毫无帮助。尤其是你对问题的描述含糊不清的时候更会令人厌烦。别用帝制时代长幼尊卑那套东西浪费你我的时间,把你的问题尽可能描述清楚,才能得到好的解答。
有些论坛有专门供新手提问的地方,如果你觉得自己的问题确实有点小蠢,那可以去新手区试试看,但即使在那里也不需要低声下气。
即使你真的很着急,也不要写“急,在线等...”
这是你的问题,不是别人的。声称自己很着急很可能会导致相反的结果:大多数黑客会直接删除这样的信息,因为你这是非常自私、粗鲁地想让别人立即停止自己的工作来帮助你。甚至,“急”这类的字眼很可能会直接被当做垃圾邮件过滤掉。
也有例外,如果你在一个知名度很高、备受黑客崇敬的地方使用某个软件,并且你真的很急,那这时你足够客气地说明你很着急,你可能会更快得到帮助。这很冒险,但因为黑客的兴奋点、判断标准跟你很可能大不相同。从国际空间站发“急”这样的标题肯定没问题,但如果一个慈善组织或政治组织黑客们就很可能无感。比如,你发一个“急,请救救这些可怜的小海豹”不会得到黑客的重视,即使那些认为海豹很重要的黑客也是如此。
不要要求对方用私人邮件回复
黑客认为解决问题应该是个公开、透明的过程,这样如果有高手中的高手看到解决方案不够好,就可以帮助改善。并且,提供帮助的一方也可以因此受到大家敬重。
把是否要用私人邮件回复的选择权交给回答者。如果他这么做了,那通常是因为他认为你的问题太过肤浅,对他人毫无用处。
这一规则只有一个例外,那就是你确信这个问题会得到大量雷同的回复时,你可以说明“用email回复我,我会为论坛总结出一个答案”。尝试着帮助论坛减少大量雷同、重复的内容是值得做的。
礼多人不怪
使用“please”或“Thanks for your attention”这些礼貌用语表明你很感激对方无偿地的帮助,这当然没什么坏处。尤其是你有一串问题等着解决的时候,礼貌点能让你得到更多帮助。
但这不如把问题描述的清晰、简洁更重要。黑客们更喜欢虽然无礼但问题表述清晰的帖子,而不是非常礼貌但问题含糊不清的帖子。
本指南发布后,从黑客那里收到的唯一严重反对意见就是关于“提前感谢”的做法。有些黑客会感觉“提前感谢”过了就意味着事后就不会再感谢了,让人感觉不舒服。我们对此的建议是:要么你事先事后都要表示感谢,要么用“Thanks for your attention/cosideration”代替“Thank you"。
四、问题得到解决后,要在后面做个简短说明
问题得到解决后,要对所有帮助解答的人做个简短说明,让他们知道最终是怎么解决的,同时再次对他们表示感谢。如果你的提问引起了一个论坛的普遍关注,那就要写个说明贴。最恰当的方式就是在最初的问题贴的标题行中标明“已解决”,这样其他黑客就不用再浪费时间来帮助解决你的问题了。
除非答案真的很有技术深度,否则说明不要太长、太复杂,只需要简单说明是什么方法解决了你的问题。
对于有深度的问题,最好对解决问题的过程做一个总结。先说明问题是什么,然后说明怎么解决了这个问题,最后说明之前的走错的路。不要搞得像推理小说一样复杂。
列出帮你解决问题的人的名字,这样你能交到更多朋友。这么做除了显得有礼貌之外,还能让将来遇到类似问题的人清楚地知道你的问题是如何一步步得到解决的,他们也就不用再次提问了。
最重要的是,这会让那些帮过你的人满意,这种感觉对于专家、黑客们来说很重要。问题一直得不到解决是令人沮丧的,黑客们对此无法忍受。你对问题解决的说明会让你在下次提问时左右逢源。在黑客中间,在解决问题后作出恰当说明实际上比讲礼貌重要多了。这是你在这种文化中获得好名声的重要方法,而好名声在黑客中是很有价值的。
花时间思考有没有办法可以避免其他人出同样的错误,在FAQ中做个说明是不是能解决这个问题?如果是,那就像维护人员提出建议。
如何解读答案
RTFW和STFW:说明你提问前没做足功课
如果你看不懂
如果你看不懂黑客的答案,不要立即要求对方做进一步说明。先用和之前一样的手段如Google、FAQ等等,努力把答案搞懂。如果竭尽全力还是搞不定再问,但同样也要说明你已经做出了哪些努力。
例如,加入你收到的回答是“似乎你被zentry卡住了,你需要先清除它”。愚蠢的做法是立即追问“zentry是什么?”正确的做法是“我读了操作手册,zentry只在z和p参数中提到,并且都没有说明要如何清除zentry。请问是这两个中的一个吗?还是我漏掉了?”
对于粗鲁无礼
在黑客的文化中,大部分看似粗鲁的行为并不是有意冒犯。那只是因为他们更关心如何解决问题,而不是怎样能让人感觉温暖舒适。这样的观念自然会导致他们说话直爽。
如果你觉得被冒犯了,尽量平静下来。如果真有人做的太过分了,那论坛里的前辈一般都会跟他打招呼。但如果你大发雷霆,那大多数人都会觉得对方的做法是合规矩的,而你会被认为是不懂事。你的问题当然也得不到解答。
另一方面,你偶尔真的会遇到无礼和装逼的行为,这时你可以立即以牙还牙,骂的他体无完肤。但在这之前你要非常确定对方确实是太过分了。纠正无礼的行为与开启一场口水大战只有一线之隔,如果你是个新人,那你也很难把握好这个尺寸。但要知道你是为了寻求答案的,所以还是尽量退一步海阔天空。
有些人声称许多黑客都有轻微的自我中心主义或艾斯伯格综合征,因此不懂得在人类的社交中注意态度、分寸。这既可能是真的也可能是假的。如果你不是个黑客,那么相信这是真的可能会有助于你和我们这些古怪的人交流。而我们并不在意这些。
不要像个loser一样
你肯定会弄砸几次,而且你将会被公开告知你错在了哪里,并且你得到的批评可能会令你愤怒。这时候,不要抱怨、发牢骚、说自己遭受了语言暴力、对方应该道歉、威胁要提起诉讼、向对方的老板打小报告等等。正确的心态应该是——这很正常。一个论坛的行为标准并不是创办者规定的,而是使用者共同塑造的。不要抱怨说批评应该通过私人邮件,这不是我们的行事方式。
当有人认为你的观点是错误的,不要认为你受到了侮辱,那是loser心态。你的观点不等于你!
曾经有论坛由于受“礼貌至上主义”的错误引导,规定黑客们不能说话粗鲁、无礼,如果不想帮忙那就什么都别说。结果使那些有想法的人纷纷离开,论坛有变的毫无用处。友好或有用,你自己选。
记住:当有黑客告诉你你错了并且不要再犯的时候,不论他的态度多么恶劣,他都是为了你和论坛好。因为它完全可以对你无视。即使你做不到心存感激,至少也不要抱怨。不要因为自己是个有课脆弱而敏感灵魂的新手,就应该被像小公主一样对待。
有时真会有人无缘无故地攻击你,这时候开启一场口水战反而会引火烧身。这些人可能自认为自己很牛逼,聪明的做法是别理他们。
也有些人喜欢比较巧妙地回答问题,所以收到回复后先仔细思考对方到底是什么意思。也行答案就藏在看似驴唇不对马嘴的回复当中。
千万别问的问题
Q: 我到哪里可以找到某软件或某资源?
A:天哪,难道还有人不会用Google吗?......
如果最终还是没得到解答
如果没人回答你的问题,不要以为是整个论坛都没人能解决这个问题。有时可能只是看到你问题的人没能力解决这个问题。
总之,到处张贴你的问题不好,会打扰大家。有耐心一点,能回答你的问题的人可能在不同的时区,也有可能是你提问的方式不对。
如何正确地回答问题
温柔点。出现问题有时会让人变得急躁、易怒、脑子短路,所以不要过分苛责他们。
私下回复初犯者。一个零基础的新手可能真的不知道去查找旧文、FAQ,没有必要对他们进行公开批评。
不要不懂装懂。假装权威的错误指导不如不指导,“知之为知之,不知为不知”。
如果帮不上忙,至少也不要捣乱。不要故意给出错误的引导,这会破坏提问者的所有努力。
进一步问清各种细节。这样能把蠢问题变成好问题,要知道我们都曾是新手。
如果对方真的是因为懒才坐等答案,那回复RTFM是最恰当的。但大部分情况下还是给出相关网址更好。
帮人帮到底。如果提问者使用了错误的工具或方法,那就建议他使用更好的,并重新界定问题。
帮助改善社群。如果你发现了个好问题,那就想想怎么能避免这一问题再次出现。如果能通过修改FAQ做到,那就告诉相关人员。
授人以鱼不如授人以渔。如果你是通过搜索了解答了对方的问题,那就教会对方这一方法,而不要只是把问题的答案给对方。
感悟:遇到任何问题有两种人:一种是消费者思维的人,一种是经营者思维的人。当我们的付出和服务符合他们的需要时,我们就是经营者,反之,则是消费者。提问问题也不例外。
消费者思维的人心里只有自己,完全以自己为中心。遇到问题也同样如此,总希望他人能给自己圆满的答案,同时自己还不愿意做任何提问前的准备工作。如此下去,没人愿意在这样的人身上花费自己宝贵的时间,没人愿意帮助这样不愿意主动成长的人。
互联网时代下,愿意分享的人很多,愿意帮助解决问题的人很多。但是,互联网上的精英们愿意帮助那些主动成长、积极思考的人。所以经营者思维的人提问问题之前需要备足功课,周密的思考,让回答问题的人感觉你是一个积极学习、进步的人。所以
提问问题前工作:1. 尝试在你准备提问的论坛的旧文章中找答案。2.Google:既要搜索网页也要搜索google论坛。3. 尝试阅读官方指导手册找答案。4. 尝试阅读常见问题文件(FAQ)找答案。5. 试着通过试验寻找答案。6. 想想有没有自己认识的朋友知道答案。7. 如果你是个程序员,尝试通过读源码找答案。
提问之时工作:一、找对地方。慎选提问的论坛1.不要去与主题不合的论坛提问。2.不要去进阶技术论坛提问太过初级的问题,反之亦然。3.不要把同一个问题同时转帖太多个讨论组。4.不要给一个既不是熟人也没有义务回答你的问题的人发私人邮件。
提问之时工作:二、如何说清问题。用清晰、精确的语句书写;表达尽量显得专业一点;使用易读取、易理解的标准格式提问;使用描述明确的标题;精确且全面地说明你的问题:按发生的先后顺序列出你的问题;先说清目标,再说明步骤;多描述问题本身,而不是你的猜想去掉无意义的问句。
其中:精确且全面地说明你的问题例子:
1)说明你的问题发生的环境:电脑配置、操作系统、应用等等,提供版本和版本号。
2)描述在提问前你是怎么研究和理解这个问题的。
3)描述你为了确定问题所在做了什么,以及你怎样阻止问题造成进一步的影响。
4)如果你想到最近做过任何可能与此相关的软件安装、升级等,请说明。
5)如果可能的话,提供在可控环境下重现这个问题的方法。如果你发现的是个代码中的bug,那这一点非常重要。如果这时你能提供重现这个问题的环境,那么你得到解答的几率和速度都会显著提高。
提问之后工作:问题得到解决后,要在后面做个简短说明
问题得到解决后,要对所有帮助解答的人做个简短说明,让他们知道最终是怎么解决的,同时再次对他们表示感谢。如果你的提问引起了一个论坛的普遍关注,那就要写个说明贴。最恰当的方式就是在最初的问题贴的标题行中标明“已解决”,这样其他黑客就不用再浪费时间来帮助解决你的问题了。