更多代码=更多错误


10

我回大学时记得一个教授计算机科学定律之一的教授。他说诸如“更多的代码等于更多的错误”之类的东西,并给它起一个名字(Whatchamacallit的法律)并将其归因于某人。

有谁知道这个“法律”的来历,是谁说的,或者它的原始用语是什么?


6
让我想起:“设计师知道他已经达到了完美,不是没有什么可添加的,而是什么都没有带走的。” -安东尼·圣艾修伯里
柯克·沃尔,

4
让我想起“没有代码比没有代码快”(Taligent设计程序指南)。
卢克·伍德沃德

1
好吧,既然您在这里提到了它,却没人知道它叫什么,所以我们称其为“杰夫定律”。
FrustratedWithFormsDesigner

@柯克(Kirk),类似亚瑟·威廉·拉德福德(Arthur William Radford)(绘画)的一句话:“半数艺术都知道何时停止”。在这种情况下也非常合适。
Berin Loritsch 2011年

我喜欢“杰夫定律”。接下来是书籍交易。谁能帮助我找到出版商?:)
Jeff

Answers:


7

此外,大量错误是由软件缺陷引起的,这是由于供应商不断向其程序中添加越来越多的功能而导致的,这不可避免地意味着更多的代码,从而导致更多的错误。

安德鲁·坦南鲍姆


2
链接到Google搜索并不是特别有用。您可以提取相关信息并将其发布在答案中吗?
克里斯·弗雷德

1
@ChrisF,这是书籍搜索的第一个结果。它是受版权保护的材料,我宁愿不要以文字形式引用。谢谢你的评论。
belisarius博士2011年

2
我想合理使用将涵盖报价。
2011年

1
您似乎不愿意进行编辑,所以我为您做了。
乔什·K

听起来不错。谢谢!香港专业教育学院一直试图回忆这一点。
杰夫,

4

Boehm的书《软件工程经济学》将其作为基本公式。

努力= k * S ^ a

其中S是代码的源代码行。

幂函数a > = 1.0。


4

@belisarius:与Tannenbaum在一起很好。

@Jeff:如果Tannenbaum不打铃,您的教授可能已经提到Occam和经济/简洁法则。(请参阅Occam的Razor。)

@ S.Lott:Dijkstra过去曾强烈反对使用代码行来衡量有用的工作。他基本上说它最大化了错误的变量。当然,Boehm尝试对工作量进行建模,并且其中的代码行应包括已删除的代码行。

编辑:

我想补充一点,Dijkstra还说过“简单性是可靠性的前提”。


7
在答案下使用“添加评论”来添加评论,而不是将其写在答案中。

1
@ThorbjørnRavn Andersen-很遗憾,作为<50名代表用户,他无法添加评论。
克里斯·弗雷德

1
@Thorbjørn:您需要50名代表才能发表评论。@Kevin:如果您将自己的SO和程序员帐户关联起来,您将获得100个代表,立即发表评论。
Anon。

1
@Kevin-Programmers'不是论坛,而是“问答”网站。非常欢迎您发布包含比当前答案所提供信息更多信息的答案,但是您不应发布评论作为答案。如果您查看FAQ,您会发现您需要50点信誉才能发表评论,但这很容易实现。
克里斯·弗雷德

1
@Anon-您需要至少200个站点上至少200个代表才能获得奖金。不幸的是,凯文目前只有160分。但是您可以随时重新关联您的帐户,因此当您在一个站点上达到200个帐户时,您将获得全部奖励。
克里斯·弗雷德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.