Bugs Occam's Razor

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

对于一个现象的每个被接受的解释,可能存在着极大、甚至难以理解的数量的可能性更复杂的替代解释。简约原则,也被称为奥卡姆剃刀原则,建议我们选择最简单的解释。例如,“我无法打开门,也无法参加会议”是一个问题的描述,可以简化为“我无法打开门”,而不会丢失任何可能对等待我进入会议室的人来说很重要的信息。我建议将同样的原则应用于错误报告。

假设我设计了一种简单的命令式编程语言,你向我提交了这个错误报告:

现在我必须调查并找出哪个运算符出了问题:也许是加法不起作用,或者是赋值,或者是除法。我不知道,我必须进行调试/测试才能找出……我。不是你。为什么不是你?

我越是处理错误报告,越是相信这必须是你作为错误报告者的工作,来与代码交互并尽你所能将你的代码片段缩短以代表缺陷。

当然,你不需要对我的代码进行玻璃盒测试以找到错误的原因,但在API接口上,你必须做好你的工作并得出结论,减法运算符出了问题:

在这里,您缩小了缺陷的范围,使其变得更小。您做了“功课”,发现只有一种特定的运算符在我的编程语言中出现了问题:减法。您节省了我的时间,并增加了您的错误报告尽快得到修复的机会。

总的来说,我认为这种错误优化工作应该由报告者而不是产品所有者来完成。我甚至可以说,这可能是一个有效的错误拒绝理由:报告不是最简单的可能报告之一。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 14:52

sixnines availability badge   GitHub stars