zoukankan      html  css  js  c++  java
  • Atitit.研发管理---api版本号策略与版本控制

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

     

    11.2.1版本概述1

    23主版本号策略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.PATCHMAJOR表示当前APR的主版本号,它的变化通常意味着APR的巨大的变化,比如体系结构的重新设计,API的重新设计等等,而且这种变化通常会导致APR版本的向前不兼容。MINOR称之为APR的次版本号,它通常只反映了一些较大的更改,比如APRAPI的增加等等,但是这些更改并不影响与旧版本源代码和二进制代码之间的兼容性。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被移除,向后兼容性将被破坏。因此我们能够做的仅仅是宣布其作废。

     

  • 相关阅读:
    CentOS 7 iSCSI 多路径Multipath配置
    Centos7 GRE Tunnel
    ESXi开启虚拟化
    ownCloud 10.2.1搭建云盘服务器
    cinder不同类型volume转换
    linux的bond及子接口配置
    openstack 平台添加vGPU
    ownCloud 10.2.1搭建云盘服务器
    openstack nova 热迁移问题
    bugku-web40对git命令的使用
  • 原文地址:https://www.cnblogs.com/attilax/p/15198705.html
Copyright © 2011-2022 走看看