Atitit.研发管理---api版本号策略与版本控制

1. 1.2.1版本概述1

2. 3主版本号策略2

3. 1PATCH版本策略2

3.1. 1.2.2.1次版本号策略2

表3-1 APR中支持的基本类型

类型名称

文件夹名称

描述

atomic

/srclib/apr/atomic

原子操作

dso

/srclib/apr/dso

动态加载共享库

file io

/srclib/apr/file_io

文件IO处理

mmap

/srclib/apr/mmap

内存映射文件

locks

/srclib/apr/locks

进程和线程互斥锁

memory

/srclib/apr/memory

内存池操作

network_io

/srclib/apr/network_io

网络IO处理

poll

/srclib/apr/poll

轮询IO

table

/srclib/apr/tables

Apache数组(堆栈)和表格以及哈希表

process

/srclib/apr/threadproc

进程和线程操作

user

/srclib/apr/user

用户和用户组操作

time

/srclib/apr/time

时间操作

string

/srclib/apr/strings

字符串操作

password

/srclib/apr/passwd

终端密码处理

misc

/srclib/apr/misc

大杂烩,不属于其余类的任何apr类型都可以放在里面

shmem

/srclib/apr/shmem

共享内存

random

/srclib/apr/random

随机数生成库

每一个APR的实现我们都在后面会详细描述。

1. 1.2.1版本概述

APR中使用三个整数来记录APR版本号:MAJOR.MINOR.PATCH。MAJOR表示当前APR的主版本号,它的变化通常意味着APR的巨大的变化,比如体系结构的重新设计,API的重新设计等等,而且这种变化通常会导致APR版本的向前不兼容。MINOR称之为APR的次版本号,它通常只反映了一些较大的更改,比如APR的API的增加等等,但是这些更改并不影响与旧版本源代码和二进制代码之间的兼容性。PATCH通常称之为补丁版本,通常情况下如果只是对APR函数的修改而不影响API接口的话都会导致PATCH的变化。

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 3主版本号策略

下面的任何一种变化都将可能导致主版本号的变化:

1)、常量的移除或者更改

2)、函数移除或者作为

3)、fold together macro-ized function replacements

3. 1PATCH版本策略

在前表中我们看到,PATCH的变化并不影响版本的源代码和二进制级别的兼容性,包括向前和向后兼容,因此,我们很容易看出,PATCH版本变化通常意味着对版本的修修补补,即BUG的修复。这些工作通常被局限于函数内部的修改,或者是API函数内部,或者是APR内部static函数的变化。任何对API的增加、修改、删除都是不允许的。

3.1. 1.2.2.1次版本号策略

任何新函数,新变量以及新常量的引入以及任何现有函数的废除都将可能导致次版本号的变化:

、函数作废

随着APR的升级,APR中的一些API可能将作废,不再使用,但是这些API并不能从APR库中移除。因为一旦API被移除,向后兼容性将被破坏。因此我们能够做的仅仅是宣布其作废。

Atitit.研发管理---api版本号策略与版本控制相关推荐

  1. Atitit.研发管理如何避免公司破产倒闭的业务魔咒

    Atitit.如何避免公司破产倒闭的业务魔咒 1. 大型公司的衰落或者倒闭破产案例1 1.1. 摩托罗拉1 1.2. 诺基亚2 1.3. sun2 2. 为什么他们会倒闭?? 常见的一些倒闭元素2 2 ...

  2. 技术人攻略访谈三十七-程显峰:IT病得有多重?技术圈交际花谈研发管理怪现状

    文:Gracia (本文为原创内容,部分或全文转载均需经过作者授权,并保留完整的作者信息和技术人攻略介绍.) 导语:本期采访对象程显峰@程显峰-Mars,蓝海讯通COO.素有"技术圈交际花兼 ...

  3. Atitit 几大研发体系对比 Stage-Gate体系 PACE与IPD体系 敏捷开发体系 CMMI体系 艾龙 著 1. 3. 1.5:业界领先的研发管理体系简介 2 1 2. 《产品及生命周期

    Atitit 几大研发体系对比 Stage-Gate体系  PACE与IPD体系 敏捷开发体系 CMMI体系 艾龙 著 1. 3. 1.5:业界领先的研发管理体系简介 2 1 2. <产品及生命 ...

  4. 强大而优雅,API 研发管理 EOLINKER 新版正式发布!

    EOLINKER 于2019年3月3日正式发布新版本!该版本大幅强化各个产品的功能.着重优化了全站的用户交互体验,并且EOLINKER AMS 产品正式更名为 EOLINKER API Studio ...

  5. Android代号、版本、API版本号

    原来Android系统代号是26个字母顺序l排列的,请原谅我知识的浅薄: 代号 Name 版本号 API版本号 发布时间 馅饼 Pie 9.0 28 2018-08 奥利奥 Oreo 8.1 27 2 ...

  6. 如何建立一套简单又高效的研发管理体系

    对于一个研发管理体系,其核心是围绕着产品的整个生命周期来进行的.因此,根据一个产品的生命周期,可以把研发体系划分为几个关键的环节,如图所示: 可知,即时沟通和技术提升虽然不属于研发流程中的某一个环节, ...

  7. Harbor-核心管理API

    0.概述 核心管理API提供了Harbor核心管理功能的编程接口,这些功能主要如下. ◎ 用户管理("/users"和"/usergroups"): 覆盖用户和 ...

  8. 研发管理101军规#003 实战规模化敏捷:从8人到百人的敏捷之路

    ​这是研发管理101的第三篇 如果用一句话概述本篇的主题,那就是:关注8人团队的自组织性,构建百人团队的研发工作流. Worktile是在15年的时候引入的Scrum.在那之前我们并没有采用标准的敏捷 ...

  9. Worktile旗下智能化研发管理工具PingCode 宣布25人以下免费

    Worktile旗下智能化研发管理工具PingCode,宣布免费! 自2020年11月5日起,25人以下研发团队,可不限时间.不限用量,免费使用PingCode所提供的Agile(敏捷开发).Wiki ...

最新文章

  1. 优达学城《DeepLearning》1-1:神经网络概论
  2. 自监督媲美全监督,港中文、商汤场景去遮挡方法入选 CVPR 2020 Oral
  3. mysql2008无法启动,2005SQL服务无法启动解决办法
  4. IPython4_Notebook
  5. php 换台电脑 表单部分_PHP更新购物车数量(表单部分/PHP处理部分)
  6. IPv6扩展头部 (四) 分片头部 Fragment Header for IPv6
  7. 豆瓣评论9.5的《Effective Python》,帮你解决80%难题!
  8. python中set index_python中set基础应用
  9. 深度学习《CNN架构续篇 - 正则化》
  10. 9种对抗电脑辐射的方法
  11. HTML、CSS:基础知识
  12. leetcode string 类
  13. 使用StatSVN编译代码变更(未成功)
  14. Java爬虫入门详解(Selenium)
  15. 软件测试方法(单元测试、集成测试、系统测试、确认测试)
  16. android q mix3,Android Q+5G 小米MIX3现场播放8K视频
  17. 树莓派wiringPi输出PMW
  18. LaTeX 数学公式大全
  19. C++ ARX二次开发视图
  20. 快速了解Mesh组网及应用

热门文章

  1. 机器学习基础专题:高斯判别分析
  2. 如何自己实现一套EasyNVR这样的无插件流媒体服务器
  3. datatable报错 uncaught TypeError: Cannot read property 'aDataSort' of undefined
  4. c++多线程编程:常见面试题
  5. 关于 客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”的解决方法...
  6. dsp之BF531笔记
  7. 40个迹象表明你还是PHP菜鸟
  8. utf编码在线转换工具
  9. 基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明。
  10. 预录取到计算机,预录取什么情况不录取 原因有哪些