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

ppt做杂志模板下载网站wordpress建站系统视频教程

ppt做杂志模板下载网站,wordpress建站系统视频教程,品牌策划岗位职责,深圳宝安区电子厂编号126原文链接AIP-126: Enumerations状态批准创建日期2019-07-24更新日期2019-07-24 一个域的值集合是一组数量有限的具体值,这是很常见的。此时使用枚举(缩写为“enums”)可有助于明确表达值集合的范围。 指南 API 可以 为不经常更改的…
编号126
原文链接AIP-126: Enumerations
状态批准
创建日期2019-07-24
更新日期2019-07-24

一个域的值集合是一组数量有限的具体值,这是很常见的。此时使用枚举(缩写为“enums”)可有助于明确表达值集合的范围。

指南

API 可以 为不经常更改的值集合建立枚举对象:

// A representation of a book.
message Book {// Other fields...// Possible formats in which the book may be published.enum Format {// Default value. This value is unused.FORMAT_UNSPECIFIED = 0;// The printed format, in hardback.HARDBACK = 1;// The printed format, in paperback.PAPERBACK = 2;// An electronic book format.EBOOK = 3;// An audio recording.AUDIOBOOK = 4;}// The format of the book.Format format = 99;// Other fields...
}
  • 枚举值 必须 使用 UPPER_SNAKE_CASE
  • 枚举的第一个值 应该 是枚举类型名字,加上后缀 _UNSPECIFIED
    • 本规则存在例外情况。如果存在一个明显有意义的零值,特别是如果枚举需要表示 UNKNOWN ,通常使用零值比同时使用零值和 UNSPECIFIED 更加明确和有效。
  • 只在单个消息中使用的枚举 应该 内嵌在消息中。此时枚举的声明位置 应该 紧邻并在使用处之前。
    • 内嵌枚举定义的非零值 不应 以枚举名字作为前缀。这将导致用户编写类似 MyState.MYSTATE_ACTIVE 的代码,增加不必要的冗长代码。
  • 多个消息使用的枚举 应该 在包级别定义, 应该 将定义放置在proto文件底部(参考AIP-191)。
    • 某些编程语言(包括C++)将枚举值提升到上级命名空间,可能导致同一proto包中具有相同值的枚举相互冲突。为了避免共享值,API 应该 将枚举名字作为前缀,添加到包级枚举值。
  • 应该 在文档中记录枚举是处于冻结状态,还是计划在将添加新值。

何时使用枚举

在许多情况下,枚举比字符串或布尔值更易于使用和阅读,但枚举集合的变动会增加工作量。因此枚举 应该 偶尔添加新值。虽然对“偶尔”的定义可能因场景而变化,但一个经验法则是每年不超过一次。对于经常变化的枚举,API 应该 使用字符串并以文档记录格式。

此外枚举 不应 用于存在相似的、被广泛采用的标准表示(例如语言代码或媒体类型)时。

注意: 如果需要在多个API之间共享枚举值, 可以 使用枚举,但枚举值与为其分配的整数 必须 一致。

备选方案

对于允许值集合频繁变栋的枚举值,API 应该 使用 string 域,并且 必须 以文档记录允许的值。包含枚举值的字符串域,其值 应该 使用 kebab-case 格式。

对于存在相似且被广泛采用的标准表示(通常是字符串,但不一定)的枚举值, 应该 使用该标准表示。即使只允许其中一小部分值,这也是合理的,因为在这种情况下使用枚举将导致在同时使用多个API时需要用到令人沮丧的查找表。

在明确不需要更多灵活性的情况下 可以 使用布尔域,默认值 必须false

注意: protobuf无法分辨 false 和未设置值的情况。如果需要区分二者, 可以 使用枚举作为更好的设计选择(也可以使用 google.protobuf.BoolValue )。

进一步阅读

  • 状态是一种特殊类型的枚举,请参考AIP-216。
http://www.yayakq.cn/news/758668/

相关文章:

  • 中国做外贸网站有哪些问题微信不能分享wordpress
  • 做自媒体有哪些素材网站网站建设还流行吗
  • 公司设计一个网站需要多久高级感ppt模板免费
  • wordpress开源程序淘宝seo培训
  • 绵阳做公司网站潍坊市建设工程交易中心网站
  • 上海易雅达网站建设公司怎么样做网站哪些软件
  • 大连网站怎么有口碑的常州网站优化
  • 站酷的网址东莞网站建设及外包
  • 做爰全过程的视频的网站怎样查看网站的权重
  • 建设网站需要想好的问题江西省赣州市事业单位招聘信息
  • 企业管理类的网站手机上可以制作图片的软件
  • 网站建设哪家好就推 鹏博资讯青海网站建设免费推广
  • 微信网站改版价格wordpress标签id在哪里
  • 南昌网站建设哪家强中国制造网外贸平台
  • 专注网站开发制作html网站模板
  • 折再返怎么 做网站wordpress免费主题删除尾巴
  • 免费分站网站自适应h5网页模板
  • 唐山教育平台网站建设自学网站开发条件
  • 网站备案一个主体wordpress xml文件
  • 易语言如何建设网站网站如何做视频的软件
  • 大连网站建百度推广助手
  • dede 网站地图 模块wordpress 目录排序
  • 网站制作产品资料东莞有什么公司
  • 网站 设计要求中国建筑官网电话
  • 站长之家网站素材wordpress 调用略缩图
  • 企业网站建设基本原则html5官方网站开发流程
  • 网站推广优化方法门户网站建设推荐
  • 网站制作方案包含哪些内容优秀室内设计案例
  • 网站建设有什么优势商城网站续费要多少钱
  • html 好的网站图书馆理论与建设网站