当前位置: 首页 > article >正文

AIP-1 AIP目的和指南

原文AIP-1: AIP Purpose and Guidelines

随着Google API数量不断增加,API治理团队不断扩张,以满足API维护工作需求。越来越有必要为API生产者、审查者和其他相关方提供一套参考文档。API风格指南和一站式介绍文档简洁扼要。AIP集合提供了一种产出一致性API设计指南文档的方法。

什么是AIP?

AIP代表 API改进议案 ,是一个设计文档,为API开发提供高层次的简洁文档。AIP作为Google内部API相关文档的源头,也是API团队讨论协商API指南的工具。AIP以Markdown文件的形式维护,保存在AIP GitHub 仓库中。

AIP的类型

下面介绍了AIP的几种不同类型。AIP类型清单将会在必要时进行调整。

指南

描述API设计的指南,为API生产者提供指导,帮助编写简单、直观、一致的API。也被API审查者作为审查意见的基础。

流程

描述API设计流程,通常作用于AIP流程自身,用于改进AIP处理方法。

利益相关者

与任何流程一样,AIP的审查和使用涉及许多不同的利益相关者。下面是一份升级路径摘要,从API生产者开始。

如图所示,团队负责人是AIP流程的最终决策者,也是升级路径终点。

编辑者

编辑者是对AIP做出决策的人。总体目标是:AIP流程是协作式的,主要基于共识工作。不过还是有必要指定几个批准者,负责批准通用领域的AIP。

目前AIP编辑者列表如下:

  • Angie Lin (@alin04)
  • Jon Skeet (@jskeet)
  • Jose Juan Zavala Iglesias (@itsStrobe)
  • Louis Dejardin (@loudej)
  • Noah Dietz (@noahdietz)
  • Sam Levenick (@slevenick)
  • Sam Woodard (@shwoodard)

编辑者还负责AIP的管理和编辑方面的工作,包括发展AIP、管理AIP管道和工作流程。他们批准AIP拉取请求、分配议案编号、管理议程、设置AIP状态……。他们还确保AIP易于阅读(拼写准确、语法、句子结构、标记等)。

AIP编辑者资格通过当前编辑者邀请获得。

特定领域的AIP

一些AIP可能限制在某个特定领域内(例如仅适用于某个PA甚至某个团队内的API)。根据AIP-2,团队可以获得一个专用AIP编号区间,这些AIP有明确的适用范围。

状态

AIP仍在维护和改进。在不同时间点,AIP可能存在多种状态。以下是各个状态的简介。

草案

AIP初始状态是“草案”,表明AIP正在由最初的作者讨论和改进。编辑者 可以 在这个阶段参与工作,但不是强制的。

注意: 如果需要进行重要改造,最好在Google文档中起草AIP,而非使用拉取请求。如果得到了足够的批准,AIP从Google文档迁移到AIP系统时, 可以 跳过草案状态,直接进入审查。

审查

一旦对AIP的讨论基本结束,在正式接受之前,它将进入“审查”状态。这意味着作者已经达成一般共识,编辑者开始工作。在此阶段,编辑者可能会要求修改或提出备选方案,然后流程进入下一步。

注意: 作为重要事项, 必须 有AIP批准者(除了作者之外)提供的正式签署,AIP才会进入审查状态。并且 不能 有其他批准者提出正式反对意见(GitHub拉取请求上的“请求修改”)。

批准

一旦AIP获得批准,它将进入“批准”状态,并被视为“当前最佳实践”。

注意: 作为重要事项,**必须** 有两个AIP批准者(除了作者之外)提供正式签署,AIP才会进入批准状态。并且 不能 有其他批准者提出正式反对意见(在GitHub PR上“请求修改”)。

撤回

如果AIP被作者或负责人撤回,它将进入“撤回”状态。被撤回的AIP可以会被另一个负责人接手。

拒绝

如果AIP被编辑者拒绝,它将进入“拒绝”状态。被拒绝的AIP仍然存在,并提供文档和参考以供未来讨论。

延期

如果AIP在很长一段时间内没有被处理,编辑者可以将其标记为“延期”。

更换

如果AIP被另一个AIP更换,它将进入“更换”状态。编辑者负责提供通知,解释更换方案和理由(新AIP也应当清楚说明更换理由)。

通常,API生产者应当依赖“批准”状态的AIP。

工作流程

工作流程描述了提交AIP的过程,以及推动AIP从提案、实施到最终批准的过程。

概述

提出AIP

要提出AIP,首先创建问题,传播基本想法,获取初步反馈。通常几页的篇幅足以描述清楚。

准备好以后,在AIP目录中创建名为 aip/new.md 的文件,提交拉取请求。确保维护者可以编辑拉取请求。

多数情况下,编辑者将为议案分配AIP编号,将AIP设置为“审查”状态,提交拉取请求。编辑者可以直接拒绝AIP,如果存在充分理由(例如议案已在其他AIP中讨论并拒绝,或者根本不合理)。此时拉取请求不予合并。

讨论AIP

拉取请求合并之后,作者负责在后续批准过程中推进AIP。这意味着作者需要促成议案相关共识。通常需要在API治理团队定期会议上进行讨论。

讨论期间,作者可以修改AIP,向拉取请求提交评论。

批准AIP

编辑者将共同努力,确保合格议案不会长期停留在审查状态。

要获得最终批准,按最低要求,AIP 必须 由负责AIP涵盖领域(设计或基础设施)的团队负责人和至少一名另外的编辑者批准,并且不能有编辑者主动要求修改。

注意: 如果AIP的主要作者是编辑者,则至少需要两名 另外的 编辑者批准。

AIP获得批准后,编辑者将更新AIP状态,反映工作进度,并提交拉取请求。

撤回或拒绝AIP

在进一步思考后,AIP作者可能决定不再推进AIP。此时作者撤回AIP,更新拉取请求,添加撤回通知并说明原因。此外作者可能无法在小组中推动共识,编辑者可以选择拒绝AIP。此时编辑者应当修改拉取请求,添加拒绝通知并说明原因。在这两种情况下,编辑者都会相应地更新API状态并提交拉取请求。

更换AIP

偶尔可能需要用新AIP更换现有AIP,这不是常见的做法。可以对已批准的AIP做少量修订,这也将是调整指南的常用方法。然而如果新指南从根本上改变了旧指南,编辑者应当创建新AIP,并在获得批准后更换旧AIP。旧AIP进入“更换”状态,并链接到新的现行AIP。

修订记录

  • 2024-09-04: 更新编辑者名字,移除团队负责人。
  • 2023-05-10: 更新编辑者和团队负责人名字。
  • 2019-07-30: 澄清AIP法定人数要求。
  • 2019-05-12: 将批准者和编辑者合并成一个职位,放宽全体同意的批准规则。
  • 2019-05-04: 更新AIP,引用GitHub流程,不再引用内部流程。

http://www.kler.cn/a/488869.html

相关文章:

  • 图像处理 | 图像二值化
  • IDEA Maven构建时报错:无效的目标发行版17
  • SQLite 命令
  • windows及linux 安装 Yarn 4.x 版本
  • 2025新年源码免费送
  • List ---- 模拟实现LIST功能的发现
  • npm i 报错
  • 获得PostgreSQL中级认证后,可以从事哪些工作岗位?
  • USB学习——基本概念
  • Objective-C语言的软件工程
  • 从excel提取和过滤数据到echarts中绘制图
  • vulnhub靶场【DC系列】之5
  • 开源cJson用法
  • 汽车免拆诊断 | 2007款保时捷Carrera S车行驶中发动机冷却液温度报警灯异常点亮
  • ARTS-01
  • 攻防世界 Web_php_wrong_nginx_config
  • 7.在 Vue 3 中使用 ECharts 实现动态散点图:完整教程与代码解析
  • 解决bazel构建的项目段错误时coredump调试问题
  • RabbitMQ基本介绍及简单上手
  • 中国科学院|PPTAgent:超越文本到幻灯片的演示文稿生成与评估
  • 三化六防是什么
  • 现代企业架构白皮书(可以在线阅读完整PDF文件)
  • 基于 GEE Sentinel-1 数据集提取水体
  • MySQL_单行函数和多行函数
  • 【MySQL】ON与WHERE的区别(临时表)
  • [tesseract]Deserialize header failed: FIRC.lstmf