跳转到内容

需求规格

本站有一个针对全站的版本号(又称项目版本号)位于本站标题旁。除了全站版本外,所有页面都具有自己的版本号。

本站采用基于 SemVer 的版本管理方法:

  • 版本核心:
    • 主版本为发布年份。
    • 有较大更新时,次版本递增。
    • 有较小更新时,修订版递增。
      • 只做单一一处简单修订(例如纠正错别字)一般不递增修订版,但页面底部的修改日期会发生变化;这样的修订累计一定数量时,方考虑递增修订版。
  • 预发布标识符:
    • 分为 dev、alpha、beta、rc 共 4 个阶段。
      • dev 阶段的别名:snapshot、nightly、pre-alpha。
      • alpha 阶段的别名:a。
      • beta 阶段的别名:b。
      • rc 的后继阶段为 stable(稳定版或正式版),此阶段于版本号中省略不写。
    • 不区分大小写。
    • 可以包含编号(例如alpha.2、beta.3、rc.1)。
    • 不支持其余预发布标识符。
  • 构建标识符:
    • 暂不使用。
  • 版本号中出现的数值必须为非负整数;若这些整数的值大于Number.MAX_SAFE_INTEGER,则行为未定义。

一般地,对单一页面:

  • 一个版本的初稿基本完成后,版本核心视具体情形递增修订版或递增次版本,进入 dev 阶段。
  • 作者校对至少一轮后,进入 alpha 阶段。
  • 作者或其他受邀实体再校对至少一轮后,进入 beta 阶段;
  • 作者或其他受邀实体再校对至少一轮,或一定时间内未收到来自公众的修改意见,进入 rc 阶段;
  • 作者或其他受邀实体再校对至少一轮,或一定时间内未收到来自公众的修改意见,发布正式版。
  • 对每个版本核心,不一定必须依次进入每个预发布阶段:例如,初稿完成度已较高的,可能跳过 dev、直接进入 alpha,或者跳过 dev 与 alpha、直接进入 beta;抑或在 alpha 阶段后直接进入 rc,等等。

两个版本号的比较:

  • 如不包含版本核心,则整个版本号为blank、planned、backlog中的一个(不区分大小写)。这些版本号低于任何带版本核心的版本号。
  • 依次比较:主版本、次版本、修订版、预发布标识符。
  • 如版本核心相同,带有预发布标识符的版本号低于不带预发布标识符的版本号。
  • 预发布标识符代表的版本从低到高:dev、alpha、beta、rc。
  • 对同一预发布阶段,预发布标识符无编号的版本号低于有编号的;编号按自然序比较。

全站版本号与页面版本号的比较:

  • 除不比较(直接忽略)预发布标识符中的编号外,按上述比较方法比较。这允许页面的预发布标识符中的编号不受全站约束,譬如:全站可能经过rc.1、rc.2再发布正式版,而计划某页在rc或rc.1以后就进入正式版;而全站在rc.2时,该页可以停留在rc.1。
  • 如页面为稳定版,则页面版本可以小于、等于或大于全站版本,即不受全站版本的约束。
  • 如页面不为稳定版,则当页面版本包含版本核心时,页面版本不能小于全站版本。此时,该页面版本号的版本核心的意义为:预计随全站发布具有相同版本核心的正式版时,该页面发布正式版。

本站所有课程均带有学科标签。