MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 7826|回复: 3

程序开发中版本管理之命名规则及格式

[复制链接]
发表于 2015-2-4 18:53:27 | 显示全部楼层 |阅读模式
转载及整理:mysqlpub.com

前言:

从网上找到的有关软件发布时候,如何命名的相关规则。虽然你可以对自己发布的软件随便起名,但尊循一定规则,还是非常有交流。


第一篇文章:

1 版本类型

1.1 正式版本

Enhance:增强版或者加强版 属于正式版

Full version:完全版 属于正式版

Release:发行版,有时间限制

Upgrade:升级版

Retail:零售版

Plus:增强版,不过这种大部分是在程序界面及多媒体功能上增强。

1.2 测试版本

Alphal:内部测试版

Beta:外部测试版

M 版: Milestone,意思是每个开发阶段的终结点的里程碑版本

Trail:试用版(含有某些限制,如时间、功能,注册后也有可能变为正式版)

RC版:Release Candidate,意思是发布倒计时,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。

RTM版:Release To Manufactur,意思是发布到生产商,这基本就是最终的版本

GA版:Generally Available, 最终版

1.3 产品版本

Shareware:共享版

Free:自由版

Cardware:属共享软件的一种,只要给作者回复一封电邮或明信片即可。(有的作者并由此提供注册码等),目前这种形式已不多见。

Demo:演示版

Preview:预览版

Corporation & Enterprise:企业版

Standard:标准版

Mini:迷你版(精简版),只有最基本的功能

Premium:贵价版

Professional:专业版

Express:特别版

Deluxe:豪华版

Regged:已注册版

1.4 语言分类

CN:简体中文版

CHT:繁体中文版

EN:英文版

Multilanguage:多语言版

1.5 其他分类

Rip:是指从原版文件(一般是指光盘或光盘镜像文件)直接将有用的内容(核心内容)分离出来,剔除无用的文档,例如PDF说明文件啊,视频演示啊之类的东西,也可以算做是精简版吧…但主要内容功能是一点也不能缺少的!另:DVDrip是指将视频和音频直接从DVD光盘里以文件方式分离出来。

OEM版:Original Equipment Manufacturer,意思是提供给电脑生产厂的版本

FPP版:Full Packaged Product (FPP)–Retail,就是零售版(盒装软件),这种产品的光盘的卷标都带有“FPP“字样

VLO版:Volume Licensing for Organizations ,团体批量许可证(大量采购授权合约),这是为团体购买而制定的一种优惠方式。

这种版本根据购买数量等又细分为以下5种版本:

开放式许可证--Open License

选择式许可证--Select License

企业协议--Enterprise Agreement

企业订阅协议--Enterprise Subscription Agreement

学术教育许可证--Academic Volume Licensing

2 版本编号

2.1 编号句法x.y.z

X:主版本号,用来表示提供给客户的产品功能的主要增强。在一个极端的例子中,主版本号的上升用来说明产品现在已经拥有了一个全新的功能类。从市场和许可权的角度来看,主版本号的升级相当于购买一个完全独立的产品。从开发者角度来看,一个主版本号的迭代差不多总是反映了一个新的独立分支或是其主干还可以延续主版本的生命期。

Y:特征版本号,用来表示产品新增了一些特征,或者是在原来文档中描述的特征上作了重要的修改。用来确定特征版本号什么时候需要修改的一个衡量标准就是产品功能说明书。产品的特征版本升级是在主版本之间保持产品竞争力的一种重要机制。

Z:缺陷修复版本号,用来表示在该版本上所做的缺陷维护行为的等级。版修复版本是稳定市场和最小化客户技术支持费用负担的一种重要机制。

2.2 支持α和β发布的编号句法x.y.z[A|B]

A:表示是α版本

B:表示是β版本

|:表示逻辑运算符“或”

[]:表示内部的元素是可选择的

说明:最后一个α或β发布之后,给正式客户发布版本来一个进位,以使其在“z”的位置出现一个0。如:正式客户发布2.2.6用版本号2.3.0来代替。

3 软件发布规则举例

3.1 简要描述

用于文件目录,压缩包等。

ProjectName-x.y.bYYYYMMDD[.n]   (每日构建)

ProjectName-x.y.Mn    (里程碑)

ProjectName-x.y.Betan    (测试发布)

ProjectName-x.y.RCn    (稳定化发布)

ProjectName-x.y.RTX[.Rn]   (正式发布,或带更新包的正式发布)

3.2 详细描述

用于软件内部描述,如:“关于软件”。

ProjectName [V/版本]x.y.bn.un.[Mn/Betan/RCn/RTX[.Rn]].bYYYYMMDD[.n]

其文档版本发行规则:

DocumentName-Vx.y[.Rn]    (发布,或带修订的发布)

简要描述举例:

xoWidgets的发布:

xoWidgets-1.0.b20080101

xoWidgets-1.0.b20080101.2    (当天第二次发布)

...

xoWidgets-1.0.M1    (里程碑版本1)

xoWidgets-1.0.b20080601

xoWidgets-1.0.b20080601.2    (当天第二次发布)

...

xoWidgets-1.0.M2    (里程碑版本2)

...

xoWidgets-1.0.Beta1    (测试版本1)

xoWidgets-1.0.Beta2    (测试版本2)

...

xoWidgets-1.0.RC1    (预发布版本1)

xoWidgets-1.0.RC2    (预发布版本2)

...

xoWidgets-1.0.RTX    (交互的正式版本)

xoWidgets-1.0.RTX.R1    (交互的正式版本,带R1更新)

xoWidgets-1.0.RTX.R2    (交互的正式版本,带R2更新)

...

详细描述举例:

xoWidgets V1.0.2480.512.RTX.R2.b20081201

注:

(1) x - major,主要版本号

(2) y - minor,次要版本号 (偶数为稳定版本,奇数为开发版本)

(3) bn - build number,构建号

(4) un - update number,更新号

(5) YYYYMMDD - 年月日

(6) n - 递增的整数


第二篇文章:

优秀项目、档案的命名惯例
一、GNU 风格的版本号命名格式 :

主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124

二、一些约定

1.Major:具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,

这些重写使得无法实现向后兼容性。
2.Minor :如果两个程序集的名称和主版本号相同,而次版本号不同,这指示显著增强,但照顾

到了向后兼容性。例如,这适用于产品的修正版或完全向后兼容的新版本。
3.Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译

器的情况。
4.Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适

用于修复以前发布的程序集中的安全漏洞。
5.程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。

三、 GNU 风格的版本号管理策略:


    1.项目初版本时 , 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0, 如果你为人很低
    调 , 我想你会选择那个主版本号为 0 的方式 ;
    2.当项目在进行了局部修改或 bug 修正时 , 主版本号和子版本号都不变 , 修正版本号加 1;
    3. 当项目在原有的基础上增加了部分功能时 , 主版本号不变 , 子版本号加 1, 修正版本号复位
    为 0, 因而可以被忽略掉 ;
    4.当项目在进行了重大修改或局部修正累积较多 , 而导致项目整体发生全局变化时 , 主版本号加 1;
    5.另外 , 编译版本号一般是编译器在编译过程中自动生成的 , 我们只定义其格式 , 并不进行人
    为控制 .

四、后缀

另外,版本号的后面还可加入 Alpha, Beta, Gamma, Current, RC (Release

Candidate), Release, Stable 等后缀,后缀的后面还可以加入1 位数字的版本号。对于用户

来说,如果某个软件的主版本号进行了升级,用户还想继续那个软件,则发行软件的公司一般要对用

户收取升级费用;而如果子版本号或修正版本号发生了升级,一般来说是免费的。

附:常用的后缀及说明

  • alpha 内部测试版
  • 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 — 多语言版



第三篇文章

1.版本号:
V(Version):即版本,通常用数字表示版本号。(如:EVEREST Ultimate v4.20.1188 Beta )
Build:用数字或日期标示版本号的一种方式。(如:VeryCD eMule v0.48a Build 071112)
SP:Service Pack,升级包。(如:Windows XP SP 2/Vista SP 1)

2.授权和功能划分:
Trial:试用版,通常都有时间限制,有些试用版软件还在功能上做了一定的限制。可注册或购买成为正式版
Unregistered:未注册版,通常没有时间限制,在功能上相对于正式版做了一定的限制。可注册或购买成为正式版。
Demo:演示版,仅仅集成了正式版中的几个功能,不能升级成正式版。
Lite:精简版。
Full version:完整版,属于正式版。

3.语言划分:
SC:Simplified Chinese简体中文版。
CN : 简体中文版
GBK:简体中文汉字内码扩展规范版。
TC:Traditional Chinese繁体中文版。
CHT : 繁体中文版
BIG5:繁体中文大五码版。
EN : 英文版
Multilanguage : 多语言版
UTF8:Unicode Transformation Format 8 bit,对现有的中文系统不是好的解决方案。

4.开发阶段划分:
α(Alpha)版:内测版,内部交流或者专业测试人员测试用。Bug较多,普通用户最好不要安装。
β(Beta)版:公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装。
γ(Gamma)版:相当成熟的测试版,与即将发行的正式版相差无几。
RC版:Release Candidate。
RC 版。是 Release Candidate 的缩写,意思是发布倒计时,候选版本,处于Gamma阶段,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。从Alpha到Beta再到Gamma是改进的先后关系,但RC1、RC2往往是取舍关系。
Final:正式版。

5.其他版本
Enhance :增强版或者加强版 属于正式版1
Free :自由版
Release :发行版 有时间限制
Upgrade :升级版
Retail  :零售版
Cardware :属共享软件的一种,只要给作者回复一封电邮或明信片即可。(有的作者并由此提供注册码等),目前这种形式已不多见。/ S
Plus :属增强版,不过这种大部分是在程序界面及多媒体功能上增强。
Preview :预览版
Corporation & Enterprise :企业版
Standard :标准版
Mini :迷你版也叫精简版只有最基本的功能
Premium : 贵价版
Professional : 专业版
Express : 特别版
Deluxe : 豪华版
Regged : 已注册版
Rip :是指从原版文件(一般是指光盘或光盘镜像文件)直接将有用的内容(核心内容)分离出来,剔除无用的文档,例如PDF说明文件啊,视频演示啊之类的东西,也可以算做是精简版吧…但主要内容功能是一点也不能缺少的!另:DVDrip是指将视频和音频直接从DVD光盘里以文件方式分离出来。
RTM 版 :这基本就是最终的版本,英文是 Release To Manufactur,意思是发布到生产商。
Original Equipment Manufacturer (OEM) 
You may license products through an Original Equipment Manufacturer (OEM). These products, such as Windows operating systems, come installed when you purchase a new computer. 
OEM软件是给电脑生产厂的版本,无需多说。 

Full Packaged Product (FPP)/Retail 
Physical, shrink-wrapped boxes of licensed product that can be purchased in a local retail store or any local software retailer. 
FPP就是零售版(盒装软件),这种产品的光盘的卷标都带有"FPP"字样,比如英文WXP Pro的FPP版本的光盘卷标就是WXPFPP_EN,其中WX表示是Windows XP,P是Professional(H是Home),FPP表明是零售版本,EN是表明是英语。获得途径除了在商店购买之外,某些MSDN用户也可以得到。
Volume Licensing for Organizations (VLO) 
You may enjoy potentially significant savings by acquiring multiple product licenses. Depending on the size and type of your organization. 
团体批量许可证(大量采购授权合约),这是为团体购买而制定的一种优惠方式。这种产品的光盘的卷标都带有"VOL"字样,取"Volume"前3个字母,以表明是批量,比如英文WXP Pro的VOL版本的光盘卷标就是WXPVOL_EN,其中WX表示是Windows XP,P是Professional(VOL没有Home版本),VOL表明是团体批量许可证版本,EN是表明是英语。获得途径主要是集团购买,某些MSDN用户也可以得到。




 楼主| 发表于 2015-2-4 18:55:10 | 显示全部楼层
第四篇文章
版本控制比较普遍的 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) 内部测试版
α版,此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的 bug 较多,普通用户最好不要安装。

β(beta)外部测试版
该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布,用户可从相关的站点下载。通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。该版本也不适合一般用户安装。

γ(gamma)版
该版本已经相当成熟了,与即将发行的正式版相差无几,如果用户实在等不及了,尽可以装上一试。

trial(试用版)
试用版软件在最近的几年里颇为流行,主要是得益于互联网的迅速发展。该版本软件通常都有时间限制,过期之后用户如果希望继续使用,一般得交纳一定的费用进行注册或购买。有些试用版软件还在功能上做了一定的限制。

unregistered(未注册版)
未注册版与试用版极其类似,只是未注册版通常没有时间限制,在功能上相对于正式版做了一定的限制,例如绝大多数网络电话软件的注册版和未注册版,两者之间在通话质量上有很大差距。还有些虽然在使用上与正式版毫无二致,但是动不动就会弹出一个恼人的消息框来提醒你注册,如看图软件acdsee、智能陈桥汉字输入软件等。

demo 演示版
在非正式版软件中,该版本的知名度最大。demo版仅仅集成了正式版中的几个功能,颇有点像 unregistered。不同的是,demo版一般不能通过升级或注册的方法变为正式版。

以上是软件正式版本推出之前的几个版本,α、β、γ可以称为测试版,大凡成熟软件总会有多个测试版,如 windows 98 的β版,前前后后将近有10个。这么多的测试版一方面为了最终产品尽可能地满足用户的需要,另一方面也尽量减少了软件中的bug 。而 trial 、unregistered 、demo有时统称为演示版,这一类版本的广告色彩较浓,颇有点先尝后买的味道,对于普通用户而言自然是可以免费尝鲜了。

正式版,不同类型的软件的正式版本通常也有区别。

release 最终释放版
该版本意味“最终释放版”,在出了一系列的测试版之后,终归会有一个正式版本,对于用户而言,购买该版本的软件绝对不会错。该版本有时也称为标准版。一般情况下,release不会以单词形式出现在软件封面上,取而代之的是符号 (r) ,如 windows nt(r) 4.0、ms-dos(r) 6.22 等。

registered 注册版
很显然,该版本是与 unregistered 相对的注册版。注册版、release和下面所讲的standard版一样,都是软件的正式版本,只是注册版软件的前身有很大一部分是从网上下载的。

standard 标准版
这是最常见的标准版,不论是什么软件,标准版一定存在。标准版中包含了该软件的基本组件及一些常用功能,可以满足一般用户的需求。其价格相对高一级版本而言还是“平易近人”的。

deluxe 豪华版
顾名思义即为“豪华版”。豪华版通常是相对于标准版而言的,主要区别是多了几项功能,价格当然会高出一大块,不推荐一般用户购买。此版本通常是为那些追求“完美”的专业用户所准备的。

reference
该版本型号常见于百科全书中,比较有名的是微软的encarta系列。 reference是最高级别,其包含的主题、图像、影片剪辑等相对于standard和deluxe版均有大幅增加,容量由一张光盘猛增至三张光盘,并且加入了很强的交互功能,当然价格也不菲。可以这么说,这一版本的百科全书才能算是真正的百科全书,也是发烧友们收藏的首选。

professional(专业版)
专业版是针对某些特定的开发工具软件而言的。专业版中有许多内容是标准版中所没有的,这些内容对于一个专业的软件开发人员来说是极为重要的。如微软的visual foxpro标准版并不具备编译成可执行文件的功能,这对于一个完整的开发项目而言显然是无法忍受的,若客户机上没有foxpro将不能使用。如果用专业版就没有这个问题了。

enterprise(企业版)
企业版是开发类软件中的极品(相当于百科全书中的reference版)。拥有一套这种版本的软件可以毫无障碍地开发任何级别的应用软件。如著名的visual c++的企业版相对于专业版来说增加了几个附加的特性,如sql调试、扩展的存储过程向导、支持as/400对ole db的访问等。而这一版本的价格也是普通用户无法接受的。如微软的visual studios 6.0 enterprise 中文版的价格为 23000 元。

其他版本,除了以上介绍的一些版本外,还有一些专有版本名称。

update(升级版)
升级版的软件是不能独立使用的,该版本的软件在安装过程中会搜索原有的正式版,如果不存在,则拒绝执行下一步。如microsoft office 2000升级版、windows 9x升级版等等。

oem版
oem 版通常是捆绑在硬件中而不单独销售的版本。将自己的产品交给别的公司去卖,保留自己的著作权,双方互惠互利,一举两得。

单机(网络)版
网络版在功能、结构上远比单机版复杂,如果留心一下软件的报价,你就会发现某些软件单机版和网络版的价格相差非常大,有些网络版甚至多一个客户端口就要加不少钱。

普及版
该版本有时也会被称为共享版,其特点是价格便宜(有些甚至完全免费)、功能单一、针对性强(当然也有占领市场、打击盗版等因素)。与试用版不同的是,该版本的软件一般不会有时间上的限制。当然,如果用户想升级,最好还是去购买正式版。

Enhance 增强版或者加强版 属于正式版
Free 自由版
Full version 完全版 属于正式版
shareware 共享版
Release 发行版 有时间限制
Upgrade 升级版
Retail 零售版
Cardware 属共享软件的一种,只要给作者回复一封电邮或明信片即可。(有的作者并由此提供注册码等),目前这种形式已不多见。
Plus 属增强版,不过这种大部分是在程序界面及多媒体功能上增强。
Preview 预览版
Corporation & Enterprise 企业版
Standard 标准版
Mini 迷你版也叫精简版只有最基本的功能
Premium -- 贵价版
Professional -- 专业版
Express -- 特别版
Deluxe -- 豪华版
Regged -- 已注册版
CN -- 简体中文版
CHT -- 繁体中文版
EN -- 英文版
Multilanguage -- 多语言版
发表于 2015-2-6 10:47:41 | 显示全部楼层

回帖奖励 +1

嗯,这个是讲解的很详细的了,谢谢分享,也许mysql的命名标识各个环境的那部分写法可能又有细微的差别。当然关重的参数还是前面的几位。
发表于 2015-2-7 14:16:21 | 显示全部楼层
嗯,这个是讲解的很详细的了,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-7-22 12:23 , Processed in 0.076390 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表