你必须知道的软件开发规范

你必须知道的软件开发规范


2021-10-08
development, standard, git, git-flow

软件版本控制规范

目前 git 较为主流,仅介绍git相关流程规范。git flow 和 github flow

git-flow

git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。

一图胜千言

GitHub flow

GitHub 流是一个轻量级、基于分支的工作流,支持定期进行部署的团队和项目。https://guides.github.com/introduction/flow/ 解释了 GitHub 流程的工作原理和原因。

流程就是

  1. 创建分支
  2. 提交代码
  3. 创建合代码请求 PullRequest
  4. 讨论和代码审查
  5. 合并代码

参考资料

软件版本号规范

软件的更新迭代是常态,软件依赖更是需要严格控制版本号,为什么要约定以及如何约定版本号规范,这里有答案《语义化版本 2.0.0》 https://semver.org/,如果你使用 git 做版本控制,那么版本号通常是 tag 名,同时,release通常从 tag 中选取,并丰富修改内容。

语义化版本控制的规范是由 Gravatars 创办者兼 GitHub 共同创办者 Tom Preston-Werner 所建立。

简略归纳几点:

  1. 版本号 必须 同时记录到文件中。例如 php 的 composer.json version字段,node 的 package.json 字段。
  2. 版本号 必须采用 X.Y.Z 格式,X、Y 和 Z 为非负的整数,且 禁止 在数字前方补零。X 是主版本号、Y 是次版本号、而 Z 为修订号。每个元素 必须 以数值来递增。例如:1.9.1 -> 1.10.0 -> 1.11.0。
  3. 版本号发行软件包之后,任何调整都 必须 使用新版本号。
  4. 开发阶段,主版本号为零,(0.y.z) ,表示非稳定版。
  5. 1.0.0 表明该版本可公开使用,并且 api 是稳定的。
  6. 先行版本可以追加,范例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。
  7. 版本编译信息可以追加,范例:1.0.0-alpha+001、1.0.0+20130313144700、1.0.0-beta+exp.sha.5114f85。
  8. 版本优先层级参考,范例:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0。

See Also

沪ICP备2022013452号-1