在提问之前的准备
在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情:
尝试在你准备提问的论坛的旧文章中搜索答案。
尝试上网搜索以找到答案。
尝试阅读手册以找到答案。
尝试阅读常见问题文件(FAQ)以找到答案。
尝试自己检查或试验以找到答案。
向你身边的强者朋友打听以找到答案。
如果你是程序开发者,请尝试阅读源代码以找到答案。
当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。
用清晰、正确、精准并语法正确的语句
我们从经验中发现,粗心的提问者通常也会粗心的写程序与思考(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。
正确的拼写、标点符号和大小写是很重要的。一般来说,如果你觉得这样做很麻烦,不想在乎这些,那我们也觉得麻烦,不想在乎你的提问。花点额外的精力斟酌一下字句,用不着太僵硬与正式 -- 事实上,黑客文化很看重能准确地使用非正式、俚语和幽默的语句。但它必须准确,而且有迹象表明你是在思考和关注问题。
话不在多而在精
你需要提供精确有内容的信息。这并不是要求你简单的把成堆的出错代码或者资料完全转录到你的提问中。如果你有庞大而复杂的测试样例能重现程序挂掉的情境,尽量将它剪裁得越小越好。
这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得到回答的机会增加;第二,简化问题使你更有可能得到有用的答案;第三,在精炼你的 bug 报告的过程中,你很可能就自己找到了解决方法或权宜之计。