提问的智慧
正在提问时

别动辄声称找到 Bug

当你在使用软件中遇到问题,除非你非常、非常的有根据,不要动辄声称找到了 Bug。提示:除非你能提供解决问题的源代码补丁,或者提供回归测试来表明前一版本中行为不正确,否则你都多半不够完全确信。这同样适用在网页和文件,如果你(声称)发现了文件的Bug,你应该能提供相应位置的修正或替代文件。

“可能是 Bug”需要证据

请记得,还有其他许多用户没遇到你发现的问题,否则你在阅读文件或搜索网页时就应该发现了(你在抱怨前已经做了这些,是吧?)。这也意味着很有可能是你弄错了而不是软件本身有问题。

如果你怀疑是 Bug,请尽量提供:

  • 最小复现步骤。
  • 当前版本和历史版本的行为差异。
  • 明确的预期行为依据,例如文档或规范。
  • 日志、测试用例、补丁或失败的回归测试。

指控会影响对话气氛

编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了 Bug,也就是在质疑他们的能力,即使你是对的,也有可能会冒犯到其中某部分人。当你在标题中嚷嚷着有Bug时,这尤其严重。

用谦逊但清楚的方式报告

提问时,即使你私下非常确信已经发现一个真正的 Bug,最好写得像是做错了什么。如果真的有 Bug,你会在回复中看到这点。这样做的话,如果真有 Bug,维护者就会向你道歉,这总比你惹恼别人然后欠别人一个道歉要好一点。

比如,把 这个库有 Bug 改成 在这个最小示例中,2.1.0 的行为与文档描述不一致;我是否遗漏了某个配置?。这种写法既保留了问题的严重性,也给维护者留下判断空间。