注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

羊圈

我的羊圈我做主~

 
 
 

日志

 
 

版本号管理  

2010-11-18 15:11:30|  分类: 技术文摘 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最近文档写的比较多,搜了一些关于版本号管理的知识:

---------------------------------------------

我们公司的版本号一直采用四段标识即
main,second,timer,build 分别为主版本号,次版本号,时间,编译号。
巨大更改增加主版本号,
次要功能改动修改增加次版本好,
时间可以为0或者上传配置库时的日期。
编译号或称为绝对版本号,这个编译好总是递增,永不清零,即使主版本号发生改变也不清零。编译号的递增不是一定要一次加一个,可以根据需要增加,例如大版本的最后一个版本是3.2.0.3210则当大版本升为4.0时则可将4.0的第一个编译号增加为4.0.0.4000.

----------------------------------------------

曾看过“软件配置管理与SourceSafe使用指南”一文,其中有一段是这样的:
配置项的版本号与配置项的状态紧密相关:
(1)处于“草稿”状态的配置项的版本号格式为:0.YZ
(2)处于“正式发布”状态的配置项的版本号格式为:X.Y。
一般只是Y值递增,当Y值到达一定的范围时X值才发生变化。
(3)处于“正在修改”状态的配置项的版本号格式为:X.YZ。
一般只增大Z值,当配置项修改完毕,状态重新变成“正式发布”时,将Z值变为0,增加X.Y值。
---------------------------------------------

版本控制比较普遍的 3 种命名格式 :
一、 GNU 风格的版本号命名格式 :
主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
二、 Windows 风格的版本号命名格式 :
主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例: 1.21, 2.0
三、.Net Framework 风格的版本号命名格式:
主版本号.子版本号[.编译版本号[.修正版本号]]
英文对照: Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]
版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选的;内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的。所有定义的部分都必须是大于或等于 0 的整数。
应根据下面的约定使用这些部分:
Major :具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现向后兼容性。
Minor :如果两个程序集的名称和主版本号相同,而次版本号不同,这指示显著增强,但照顾到了向后兼容性。例如,这适用于产品的修正版或完全向后兼容的新版本。
Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。
Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适用于修复以前发布的程序集中的安全漏洞。
程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。
版本号管理策略
一、 GNU 风格的版本号管理策略:
1.项目初版本时 , 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0, 如果你为人很低调 , 我想你会选择那个主版本号为 0 的方式 ;
2.当项目在进行了局部修改或 bug 修正时 , 主版本号和子版本号都不变 , 修正版本号加 1;
3. 当项目在原有的基础上增加了部分功能时 , 主版本号不变 , 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉 ;
4.当项目在进行了重大修改或局部修正累积较多 , 而导致项目整体发生全局变化时 , 主版本号加 1;
5.另外 , 编译版本号一般是编译器在编译过程中自动生成的 , 我们只定义其格式 , 并不进行人为控制 .
二、 Window 下的版本号管理策略:
1.目初版时 , 版本号为 1.0 或 1.00;
2. 当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变 , 修正版本号加 1;
3. 当项目在原有的基础上增加了部分功能时 , 主版本号不变 , 子版本号加 1, 修正版本号复位为 0, 因而可以被忽略掉 ;
4. 当项目在进行了重大修改或局部修正累积较多 , 而导致项目整体发生全局变化时 , 主版本号加 1;
5. 另外 , 编译版本号一般是编译器在编译过程中自动生成的 , 我们只定义其格式 , 并不进行人为控制 .
另外 , 还可以在版本号后面加入 Alpha, Beta, Gamma, Current, RC (Release Candidate), Release, Stable 等后缀 , 在这些后缀后面还可以加入 1 位数字的版本号 .
对于用户来说 , 如果某个软件的主版本号进行了升级 , 用户还想继续那个软件 , 则发行软件的公司一般要对用户收取升级费用 ; 而如果子版本号或修正版本号发生了升级 , 一般来说是免费的 .
附: alphal 内部测试版
   beta 外部测试版
   demo 演示版
   Enhance 增强版或者加强版 属于正式版
   Free 自由版
   Full version 完全版 属于正式版
   shareware 共享版
   Release 发行版 有时间限制
   Upgrade 升级版
   Retail 零售版
   Cardware 属共享软件的一种,只要给作者回复一封电邮或明信片即可。(有的作者并由此提供注册码等),目前这种形式已不多见。
   Plus 属增强版,不过这种大部分是在程序界面及多媒体功能上增强。
   Preview 预览版
   Corporation & Enterprise 企业版
   Standard 标准版
   Mini 迷你版也叫精简版只有最基本的功能
   Premium -- 贵价版
   Professional -- 专业版
   Express -- 特别版
   Deluxe -- 豪华版
   Regged -- 已注册版
   CN -- 简体中文版
   CHT -- 繁体中文版
   EN -- 英文版
   Multilanguage -- 多语言版

  评论这张
 
阅读(1487)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017