当前位置:  开发笔记 > 后端 > 正文

我可以提供一些版本编号建议吗?

如何解决《我可以提供一些版本编号建议吗?》经验,为你挑选了3个好方法。

我们的产品历史悠久(12年左右).

它的起源是VB3(版本1)和后来的VB6(版本2).(版本号是"狗早餐",版本控制是一场噩梦.

我已经在这里参与了几年.我们在.Net平台上开发了第3版,但版本2继续得到定期版本的支持 - 每年约3或4个版本.

我在开始时介绍了夜间自动构建版本,我们的产品版本号是2.2.2.每个人都计划只发布2.2.3,但自动构建过程和VB6的"有趣"3部分编号系统,意味着我们需要使用第三部分 - 构建/修订号 - 这应该是它应该的.

所以我们发布了版本2.3(内置版本为"无论什么")并开始使用2.4(每晚增加内部版本号),然后是2.5,然后是2.6等.

内部版本号远离公共视图,但可用于支持目的,即使我们很少发布多个版本的版本 - 我们偶尔需要修补.

确保一致性.现在我们达到2.9.我们即将进入2.10(两点九,最多两点十).不幸的是,非技术人员正在读这个像一个有理数的人(两点一).他们无法理解为什么我们不只是去3.0版 - 就像计数一样.(为了支持目的,内部版本号仅显示在"帮助/关于"屏幕上).

我不认为产品(主要数量)升级是有保证的,特别是由于市场预期的这种预期.

有没有正确的方法在这里继续?(2.10或3.0或更好的东西 - 或者甚至更重要?)

(注意:我已经花了一些时间来确保版本号现在显示为2.09,而不是2.9(在我们的网站上,产品启动画面和各种其他公共场所等),所以当我们移动到2.10时它可能更有意义,但这可能同样令人困惑,因为2.09实际上是一个比2.8更低的有理数......)

也可以看看:

决定版本号

如何做版本号?

你怎么知道使用什么版本号?



1> David Z..:

把它视为非技术人员学习东西的机会;-)版本号应该像书中的章节和章节编号一样,它们将程序的生命周期分成连贯且内部一致的块.



2> 小智..:

您如何对自己的软件进行编辑取决于您自己.除了考虑维护,发布管理和客户支持观点之后的最佳选择之外,没有"正确"或"错误".重要的是你要控制版本控制 - 你理解它,每个使用该产品的人都理解它,并且以后不会引起问题.除了赋予它的意义之外,没有任何意义从2.9到2.10而不是3.0 .



3> Schwern..:

其他答案只有一半是正确的.版本号具有您给出的含义,但它们也具有其他人给出的含义.你自己的意思真的没关系,因为你不会去那里纠正你的用户.如果他们认为从2.9升到3.0是一个巨大的跳跃,那么他们就会采取这种方式.如果他们害怕使用x.0版本,那么他们就不会.如果它们习惯于奇数编号的版本是alphas,那么他们就不会使用它们.

尽管我不愿意这样说,但版本号是一种营销工具.他们向用户说明了发布的内容,因此在选择版本号时必须考虑到这一点.

问题是,版本号对不同的人意味着不同的东西.有些事情你可以预测.正如我上面提到的,人们会怀疑x.0版本.他们预计2.x到3.x会发生重大变化.如果你想尝试播放,请继续.

版本号有两个基本属性.首先,他们必须总是上升.其次,他们必须轻松排序.第一个是显而易见的,但第二个经常被违反.考虑版本2.9 - > 2.10.从数字上讲,2.9大于2.10.您必须将它们视为主要/次要版本号,以便正确排序.由此引发了关于2.10或3.0是否跟随2.9的混淆.即使我们知道排序规则,它似乎仍然是错误的.出于这个原因,我总是填写我的版本.2.09之后是2.10.它可以正确排序为数字和虚线对.

That still leaves us with the user trying to divine meaning from the version number, like numerologists sifting through winning lottery numbers. You can try to play that game, or you can leave it. Why use a dotted pair at all? Use an integer. It's unambiguous. It sorts trivially. It gives no false meaning for the user to latch on to.

我可以更好一点.你可以给版本号提供明确的含义,这是有用的.我们在CPAN世界中存在一个问题,即人们没有升级他们的模块,因为他们使用的是版本1.03,而最新版本是1.07,看起来,它只有.04的区别.为什么要打扰升级呢?它没有显示的是,在1.03和1.07之间有四年.微软认为,这就是为什么我们购买Office 2009而不是Office 12(如果你不经常发布,它也可能会惹恼你,谁会想要在2001年推出Windows 98?)它就在版本号中."Widgets 2007"告诉你也许你应该去寻找升级.

我曾经使用ISO日期作为版本.如果您今天发布它将是版本20090309.如果您必须在一天内发布两个,请结束时间和分钟:20090309.2051.它很容易排序.它总是上升.它向用户传达了一些关于发布的明确含义. 这是一个例子.

我现在使用语义版本控制.它使用虚线三元组来传达三条重要的信息.API被打破了吗?是否添加了功能?这只是一个bug修复?用户必须知道您的项目正在使用语义版本,这是ISO日期版本的缺点.优点是它传达的信息类型,并且定义明确.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有