软件命名规范:什么是alphabetaRCRelease版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件命名规范:什么是alphabetaRCRelease版相关的知识,希望对你有一定的参考价值。

1.版本命名规范

软件版本号有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版

本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base、alpha、beta 、RC 、 release

技术分享
  • Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。
  • Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。
  • RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。
  • Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。
  • 注:Debug与Release版本的异同

          Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和 Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好的名称。

          Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。

    • 如果是基于 ATL的,则Debug和Release版本对DLL的要求差不多。
    • 如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而 Release版本需要MFC42.DLL支持。

          Release不对源代码进行调试,不考虑MFC的诊断宏,使用的是 MFC  Release库,编译时对应用程序的速度进行优化

          Debug则正好相反,它允许对源代码进行调试,可以定义和使用MFC的 诊断宏,采用MFC  Debug库,对速度没有优化。 

       
    既然Debug和 Release仅仅是编译选项的不同,那么为什么要区分Debug和Release版本呢? 
          Debug和Release,在我看来主要是针对其面向的目标不同的而进行区分的。

    • Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。
    • Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

    2. 版本命名规范

     

    软件版本号由四部分组成:第一个1为主版本号,第二个1为子版本号,第三个1为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5种,分别为:base、alpha、beta、RC、release。例如:1.1.1.051021_beta。

    3. 版本号定修改规则

    • 主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。
    • 子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。
    • 阶段版本号(1):一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。此版本号由项目经理决定是否修改。
    • 日期版本号(051021):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。
    • 希腊字母版本号(beta):此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。

    4. 版本号的阶段标识

     

    软件的每个版本中包括11个阶段,详细阶段描述如下:

     阶段名称                            阶段标识
     需求控制                               a
     设计阶段                               b
     编码阶段                               c
     单元测试                               d
     单元测试修改                        e
     集成测试                               f
     集成测试修改                        g
     系统测试                               h
     系统测试修改                        i
     验收测试                               j
     验收测试修改                        k

以上是关于软件命名规范:什么是alphabetaRCRelease版的主要内容,如果未能解决你的问题,请参考以下文章

什么是规范的 YAML 命名风格

10分钟了解代码命名规范(JavaPython)

说说数仓(6)-关于命名规范

软件开发规范三软件版本命名规范

软件开发规范三软件版本命名规范

软件版本命名规范