“稳定”在代码领域中到底是什么意思?

7
我经常看到或听到人们在描述代码时称其为“稳定”。
我认为“稳定”的类库是指其中的函数已经经过充分测试,在实际使用中没有发现任何错误,或者至少没有发现任何关键性的错误。
那么,这与像操作系统这样的大型软件有什么关系呢?我经常看到某个下载被描述为“稳定版”,通常是比最新版本旧几个版本。那么软件何时才能被认为是“稳定”的呢?有没有任何标准来确定这一点?

“稳定”的代码将经过充分的单元测试,并且几乎没有(或者完全没有)已知的错误。 “稳定”的代码将始终如一地运行,不会崩溃。有些人认为旧代码就是“稳定”的代码,但这并不总是正确的。由于某些笨蛋长期维护的代码将不稳定。 - DwB
1
“put on hold as primarily opinion-based”... 真的吗? - Quibblesome
3个回答

2

它并没有被大量改变。通常这意味着它很好,能够正常工作且没有漏洞。

在库的术语中,“稳定版”通常是推荐使用的版本,而“前沿版”也可用。在这种情况下,生产代码应该使用稳定版。

软件何时变得稳定?有没有确定这一点的标准?

这是一个非常主观的标准。通常情况下,它是经过严格的 QA 测试和/或发布时未报告任何严重问题的结果。然而,术语的使用取决于团队的度量,因此一个人的“稳定版”可能不是另一个人的。


我喜欢“无错误”的部分... - rene
嗯...也许我应该写成:"少量的漏洞"。 ;) - Quibblesome
在编程方面,我曾看到过“稳定”一词用于描述不可变类。因为不可变类的对象是抵抗进入错误状态的,它们“不会改变”它们的状态。+1 是因为翻译没有被大幅改动。 - aderchox

0

可能有更正式的定义,但根据我的经验,它意味着一个经过测试并被发现可用且符合要求的发布版本;也许不是没有缺陷,但没有重大缺陷。大多数用户将能够使用它而不会遇到任何主要问题(例如数据丢失、崩溃)。

一个不稳定的发布版本要么有很多错误(或几个重要的错误),要么根本没有经过测试。


0

定义在技术上基于代码的生产者或标签商所定义的内容。一个公司/项目的定义不一定要与另一个相匹配。

但通常与里程有关。在某个时刻,你宣布停止添加功能并开始进行发布。然后在测试过程中,错误报告率开始下降,你就会将该产品推广给更多的人,包括alpha版、beta版、发布候选版等。更多的人意味着更多的测试人员,也意味着更多的潜在错误。随着时间的推移,产品逐渐成熟,用户群体增加,错误率最终减缓。当产品达到你所期望的功能、正常工作,并且错误率足够低时,你会宣布其稳定性,并且如果还没有的话,将更多资源从该版本/产品转移到下一个版本/产品上。

衡量指标通常与错误率有关,包括有多少错误以及你在客户/用户支持上花费了多少时间。当用户不再对产品提出问题时,可能是因为:1)他们停止使用该产品;2)他们继续使用该产品,但它已经发展到足够稳定的程度,可以在不抱怨的情况下使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接