维基百科对软件错误的定义是错误的

这是维基百科在撰写本文时所说的:

软件错误是指计算机程序或系统中的错误,缺陷,故障或错误,导致其产生不正确或意外的结果或行为异常。

我认为那是不完整的。 该定义完全排除了与例如可维护性可重用性相关的“非行为”缺陷。

如您所知,每个软件都有功能非功能要求。 功能要求告诉我们什么软件必须做的,和非功能性需求文档它如何做到这一点。 例如,这是一个功能要求:

The user can generate a PDF report.

如果我们的软件没有生成PDF报告而崩溃,那是功能错误。 如果它不是PDF报告,而是生成空白页或纯文本文档,那是功能错误。 如果根本没有“生成PDF报告”按钮,并且用户根本无法启动PDF生成过程,那就是功能性错误。

这是一个非功能性需求的示例:

PDF report generation must take less than 100ms.

如果我们的软件生成的是完全正确的PDF报告,但要花一分钟时间,则说明这是无法正常运行的错误。

到目前为止好,因为维基百科给出的错误定义完全涵盖他们的-如果他们发生,他们会造成我们的软件“以产生不正确的或意外的结果或意外的方式行事 。” 这里的重点是单词“生产”和“行为”。 他们认为该软件正在做某事,而我们正在观察其行为。

但是,这还不是全部。

可维护性如何? 我可能有这种非功能性要求:

The source code of the PDF generator must be
easy to maintain and extend for an average
Java programmer.

这是一个相当模糊的要求,但是您明白了。

可维护性和可重用性是任何现代软件程序中非常关键的非功能性组件,尤其是考虑到市场上很高的人工成本。 通常,确保软件的可维护性比快速维护更为重要。 如果它是可维护且缓慢的,我们可以找到新的程序员来改进代码。 如果它很快但无法维护,我们以后将无法对其进行任何操作,如果需要一些新功能,则必须从头开始重写它。 在《您是黑客还是设计师》中阅读有关此内容的更多信息

Wikipedia给出的软件错误的定义完全没有涵盖可维护性和可重用性缺陷。 这使混乱的常见原因-不一致的代码风格是不是一个错误(见下面的讨论这个职位 )。

那是错的。

不一致的代码风格软件错误,文档不完整,缺少文档,代码过于复杂,缺少编码风格指南等也是如此。

我将像这样重写Wikipedia中的软件错误定义段落:

软件错误是计算机程序或系统中的错误,缺陷,故障或错误,导致其至少违反其功能或非功能要求之一。

这个定义对我来说看起来更准确。

翻译自: https://www.javacodegeeks.com/2015/07/wikipedias-definition-of-a-software-bug-is-wrong.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值