首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要版本号吗?

需要版本号吗?
EN

Software Engineering用户
提问于 2014-12-13 18:54:49
回答 7查看 4.6K关注 0票数 8

我们建立了一个以软件为服务的系统。现在我想知道是否需要将版本号提供给客户端。例如,Facebook没有给出版本号,谷歌也是如此。我的问题是,在客户端无法自行更改版本的应用程序中,基本上会包含版本号吗?

更新1

只是简单的更新,是的,我们确实提供了一个API,API将以类似的方式进行版本化,就像亚特兰西安做的api/,然后是api/v2/等等。

版本号只是用户看到的网站,而不是开发者。

在内部,我们使用Jira进行项目管理,在那里我们也使用Jira发布功能。所以在内部我们确实有版本号。只是暂时不适合顾客。

EN

回答 7

Software Engineering用户

发布于 2014-12-13 19:06:00

您可能希望拥有应用程序的内部版本号,以便更好地管理内部开发流程。然而,这些数字对用户没有多大用处。

版本号的通常用途是告诉用户他们的应用程序是否是最新的。如果这不在他们的控制范围内,至少对支助人员来说,核实他们收到了最新版本是有用的。但是,当您拥有一个所有用户共享相同部署的服务软件时,几乎没有理由与他们交流版本号。

一个例外可能是当你不是唯一一个提供这种服务的人。当您只授权软件或自己授权时,其他人也提供与服务相同的软件时,将版本号传递给最终用户是很有用的,这样他们就可以比较哪个提供商提供哪个版本,并且知道他们的提供商使用的版本是否存在相关的使用差异。

票数 11
EN

Software Engineering用户

发布于 2014-12-13 20:04:13

版本号有两个可能的使用者。您的内部流程和使用您的服务的人员。

对于内部进程,版本号可以帮助您识别什么东西是固定的,以及它们之后发生了什么变化。通过说“我们在1.2.3版本中修复了这个问题”,您就可以知道它是在哪里完成的,如果您现在正在经历相同的错误,那么您将得到一个回归。通过能够识别何时修复或实现(使用版本号),您现在可以缩小修复它所需做的范围。

服务的使用者也可以使用版本号。并不是所有的消费者都需要知道版本号,但是它可以帮助他们。通过说“在1.2.3版本中修复了这些bug,并在某个日期部署了这些bug”,正如消费者所知道的那样,您可能报告的bug已经修复。此外,当报告bug时,您有机会说:“这是在1.2.3中修复的,但现在在1.2.5中它又被破坏了。”对于报告错误,这可能是有价值的信息。

很多时候,软件作为一个服务也有一个接口的API。这个API也应该是版本化的。您可以在堆栈交换API谷歌的数据API中看到这一点。API非常类似于托管在另一台服务器上的库。正如库是版本化的,API也是如此。

在这些情况下,版本号的目的是允许更有效地交流关于在哪些软件中报告、修复和当前正在运行的软件的信息。“当前运行”只有一个实例,这并不会降低前两点的有用性。它对内部和外部都是有用的。

还要考虑的是,除非您提供API,否则语义版本化并不一定那么有用。我在连续集成服务器的版本号对版本号非常有用的情况下工作过--“生产正在运行build 123,我们修复了目前正在QA环境中测试的build 145。当前的构建是155。”

票数 10
EN

Software Engineering用户

发布于 2014-12-13 19:38:02

面向用户的代码不需要版本号。

但是,如果您正在编写由外部开发人员使用的代码,那么您绝对应该提供版本号,并在您的站点上维护多个版本。有一个明确的反对政策。这样做将使您可以自由地对您的API进行潜在的向后不兼容的更改,然后让依赖您的人在对他们更方便时进行升级。这样做并不像你在AWS时代想象的那样困难,因为您只需要维护运行旧版本的服务器,并使用新版本启动新版本。当你需要的时候释放到旧的,然后当你完成的时候解除它们。

是的,我知道Facebook不擅长这样做。但他们也因发布意外破坏人们使用API的代码而臭名昭著。我认识很多开发人员,他们非常希望他们能有任何替代Facebook的方法。Facebook成功地锁定了开发者,因为他们拥有用户。但你没有那个。如果您让开发人员对使用您的服务有这种感觉,他们就会离开。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/266366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档