当然,这个在这里谈的很多了, 但这里只是说说我们这边用的几种模式, 主要针对发布比较频繁发布的情况,比如两周一次,一个月一次之类的。
【一、major.minor】
比如1.0, 1.2, 2.5, 3.0等等。 major是主要版本号,major相同,minor不同的版本,是后相兼容的 - 也就是说不会有schema change(如果读文件的话),也不会有breaking api(如果暴露api的话)。
当然,你觉得一个major不够用,完全可以扩展为major.major.minor, 如果你在乎后向兼容,这个的确蛮好用的。
major.minor的问题在于如何比较两个版本哪个更新:比如:5.8和5.12, 数字上5.8 > 5.12, 而可能发布者的用意是5.12 > 5.8, 那么5.8是不是5.08更合适; 总之,有点混淆在里面了。
当然,只要事先安排好,还是可以做的很好的,比如定义minor都是两位的,那么就不会有5.8: 要么5.80,要么5.08。 超过99的版本,必须升major。
【二、递增的整数】
这个在我们以前的产品里用过,貌似是没有上面那个问题了。
但是用户看到这些愚蠢的版本号:比如137, 55, 33,迷茫之外除了骂人真的不能期望他们再做些别的了:这TM都什么意思???
【三、日期】
最好是按照ISO日期格式: 20121205, 这个好处是除了表示日期之外,按整数看还是递增的,比较好用。
  • 比如用户看到一个版本:20121205,就知道这是2012年12月5号发布的;
  • 比如我说所有比20121205老的版本都不支持邮件通知这个功能,大家也很清楚这是什么意思。
用日期的问题是如果你一天有多个版本发布(疯了?)就没法表示了,一个简单的方法是用symbolic link:
20121205 -> 20121205-1
所以,如果你的软件要在一定时间内提供后向支持,用major.minor吧; 如果不要,那么请用ISO date吧

关于软件版本命名的方法相关推荐

  1. 软件版本命名规则总结

    更多内容关注微信公众号:fullstack888 版本控制比较普遍的 3 种命名格式 : 一.GNU 风格的版本号命名格式 : 主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] Maj ...

  2. 软件版本命名规范(转载)

    1. 软件版本阶段说明   * Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构.    * Alp ...

  3. 软件版本命名规范详解

    1.  软件版本阶段说明 Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha版: 此版本 ...

  4. PM - 软件版本命名规范及各阶段说明

    软件版本阶段说明 Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha版: 此版本表示该软 ...

  5. 软件版本命名规范及各阶段说明

    1.  软件版本阶段说明     Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构.     Alp ...

  6. 软件系统测试版本命名,软件版本命名规范

    一.软件版本号的组成 软件版本号由四部分组成: 第一个1为主版本号, 第二个1为子版本号, 第三个1为阶段版本号, 第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5种,分别为:base.al ...

  7. 软件版本命名sig_LIUNX中程序包管理

    LIUNX中程序包管理 此内容仅为笔记,这一两天给会重新整理补充上操作示例. 一.基础 1.程序描述: 第一种描述: 程序+数据 第二种描述: 算法+数据结构 2.程序的组成部分: ​ 1.二进制程序 ...

  8. 软件版本号命名规范_软件发布版本介绍

    一. 软件版本阶段介绍 Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改. Beta版: 该版本相对于α版已 ...

  9. 版本号命名规则 软件版本说明

    版本号命名规则 主版本号.子/次版本号.修正/补丁版本号.编译版本号 当代码变更时,版本号按以下原则更新. 如果只是修复bug,需要更新补丁版本号: 如果是新增了功能,但是向下兼容,需要更新子版本号: ...

最新文章

  1. Zepto源代码分析之二~三个API
  2. 获取jar包内部的资源文件
  3. 电脑进入pe时蓝屏_电脑进入PE会蓝屏是怎么回事?
  4. php thread linux,Linux_linux内核函数kernel_thread,设备驱动程序中,如果需要几 - phpStudy...
  5. 数论只会 for 循环 (数学+分块+记忆化)
  6. MySQL客户端连接被频繁杀掉,企业案例(一):由于mysql sleep线程过多小故障
  7. 简要解析红外摄像机技术与市场
  8. HUB、Switch、Router在OSI模型层次信息
  9. Android面试英文介绍
  10. pci规划的三个原则_LTE中PCI规划目的和原则
  11. 基于JAVA校园快递管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  12. python 抓包秒杀_Python 爬虫,推荐一款简单的抓包工具(续)
  13. 计算/感知/认知智能的研究现状
  14. 学生宿舍管理数据库设计(上)
  15. iass、pass、saas
  16. python 课程学习
  17. CTF MD5之守株待兔,你需要找到和系统锁匹配的钥匙
  18. Qt问题:QDilog按下回车键竟然关闭了,想屏蔽Return键结果和Enter键弄反了,最后还接收不到Return的键盘事件了,气人不
  19. python实现批量修改图片尺寸和图片名称
  20. Github上Stars最多的53个深度学习项目

热门文章

  1. 写出表格的结构html,一个面试题,根据json结构生成html表格
  2. 关于计算机展览的英语作文,2015考研英语作文范文精选:选什么东西参加展览?...
  3. 刷机提示图像和设备不匹配_安卓5.0升级失败如何解决 安卓5.0刷机失败解决方法介绍【教程】...
  4. 代码审查:程序员内炼之道
  5. H.264 中很有用的一些概念
  6. input 框 去掉下面的提示文字、提示选项
  7. FreeSql (八)插入数据时指定列
  8. [开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码
  9. spark广播变量 和 累加器
  10. Linux 终端仿真程序Putty