前言
最近正好在为部门开发工作用的相关插件,但之前并未接触过软件工程这类系统知识,开发过程中对软件不同阶段的分界和命名一直不明确,所以查阅了一些资料整理了一下,供自己和其他有需要的朋友日后参考。
正文
我们常见的版本号命名规则为:
[name]-X.Y.Z-[state]
X主版本号:当做了不兼容的 API 修改,需递增。
Y次版本号:当做了向下兼容的功能性新增,需递增。
Z修订号:当做了向下兼容的问题修正,需递增。
-
[state] 可选段,用来表示当前软件的状态。例如:b 表示beta版,即测试版。
拓展资料
1、什么是语义化版本
背景及目的
语义化版本控制的规范是由 Gravatars 创办者兼 GitHub 共同创办者 Tom Preston-Werner 所建立。
如果程序项目的依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你项目的进展因为版本依赖被锁死或版本混乱变得不够简便和可靠,就意味着你正处于依赖地狱之中。
所以要用简单的规则及条件来约束版本号的配置和增长。在这套约定下,版本号及其更新方式包含了相邻版本间的底层代码和修改内容的信息。上面的链接中作者说的很清楚了,可以去看原文。
前提
必须先有定义好的公共 API。
2、API是什么
百度释义:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
根据目前编程学习经历,我理解API就是人为封装好的函数,一个已经造好的轮子可以直接拿来用。定义好API,进行模块化编程,尽量避免过度耦合,是快速推进项目进程的好方法。和设计行业类比,有点像各专业之间的“条件”,目前个人感觉,设计行业由于项目不同、业主需求不同、使用标准规范不同和各设计人员习惯不同,标准化的专业界面沟通好还有些欠缺。但从现在一些家装设计和工业设计可以看出,模块化设计是大趋势。
3、常见的软件的状态有哪些
测试版状态
α(alpha)版:此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多。
β(beta)版:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布,用户可从相关的站点下载。通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。该版本也不适合一般用户安装。
γ(gamma)版:该版本已经相当成熟了,与即将发行的正式版相差无几。
trial(试用版):试用版软件在最近的几年里颇为流行,主要是得益于互联网的迅速发展。该版本软件通常都有时间限制,过期之后用户如果希望继续使用,一般得缴纳一定的费用进行注册或购买。有些试用版软件还在功能上做了一定的限制。
unregistered版:未注册版与试用版极其类似,只是未注册版通常没有时间限制,在功能上相对于正式版做了一定的限制,例如绝大多数网络电话软件的注册版和未注册版,两者之间在通话质量上有很大差距。
demo版:也称为演示版,在非正式版软件中,该版本的知名度最大。demo版仅仅集成了正式版中的几个功能,颇有点像unregistered。不同的是,demo版一般不能通过升级或注册的方法变为正式版。
以上是软件正式版本推出之前的几个版本,α、β、γ可以称为测试版,alpha 是指内测,即说的CB,指开发团队内部测试的版本或者有限用户体验测试版本。beta 是指公测,即针对所有用户公开的测试版本。然后做过一些修改,成为正式发布的候选版本时叫做gamma,叫做RC(Release Candidate)。而trial、unregistered、demo有时统称为演示版。
正式版状态
release版:该版本意味“最终释放版”,在出了一系列的测试版之后,终归会有一个正式版本,对于用户而言,安装该版本的软件绝对不会错。该版本有时也称为标准版。
registered版:很显然,该版本是与unregistered相对的注册版。注册版、release和下面所讲的standard版一样,都是软件的正式版本,只是注册版软件的前身有很大一部分是从网上下载的。