首页 > 其他分享 >protobuf语法风格

protobuf语法风格

时间:2023-08-29 11:40:44浏览次数:47  
标签:下划线 protobuf song name 语法 repeated 风格 命名 string



文章目录

  • 一、代码风格
  • 二、文件格式
  • 三、包
  • 四、消息类型和字段
  • 五、repeated字段
  • 六、枚举类型
  • 七、服务


一、代码风格

  • 每一行的代码长度不要超过80。
  • 使用两个空格进行缩进。

二、文件格式

文件命名应该采用蛇形命名法(即用下划线连接),如:lower_snake_case.proto。所有文件应以下列方式排列:

  1. License header (if applicable)
  2. File overview
  3. Syntax
  4. Package
  5. Imports (sorted)
  6. File options
  7. Everything else

三、包

包名应该是小写的,并且应该对应于目录层次结构。例如,如果一个文件位于my/Package/中,那么包名应该是my.Package

四、消息类型和字段

消息名使用驼峰命名法,例如:SongServerRequest,字段名和扩展名使用小写的下划线分隔式,例如:song_name。

message SongServerRequest {
  required string song_name = 1;
}
const string& song_name() { ... }
void set_song_name(const string& x) { ... }

如果字段名包含数字,则该数字应出现在字母之后,而不是下划线之后。例如:song_name1。

五、repeated字段

repeated字段使用复数命名

repeated string keys = 1;
repeated MyMessage accounts = 17;

六、枚举类型

枚举名使用使用驼峰命名法,成员使用大写的下划线分隔式:

enum Foo {
  FOO_UNSPECIFIED = 0;
  FOO_FIRST_VALUE = 1;
  FOO_SECOND_VALUE = 2;
}

七、服务

服务名称和任何RPC方法名称均使用驼峰命名法

service FooService {
  rpc GetSomething(FooRequest) returns (FooResponse);
}

参考:
https://developers.google.cn/protocol-buffers/docs/style


标签:下划线,protobuf,song,name,语法,repeated,风格,命名,string
From: https://blog.51cto.com/u_6526235/7273753

相关文章

  • MYSQL基础语法-cnblog
    MYSQL基础语法基础语法:1.创建数据库:creatdatabase***;(数据库名称自定义)2.使用数据库:use***;(已经创建好的数据库名称)3.描述表的结构:desc**(表字段成员)4.显示表格:showtables;5.查询当前数据库:selectdatabase();6.重命名文件:select--as(as可省略)--(中文......
  • FX110: 花点时间寻找适合自己的交易风格,优化利润
    交易风格通常与交易者的个性相关。在选择交易策略和制定交易计划之前,对性格和生活方式进行内部反思非常重要 。这是因为使用与你的性格相反的交易风格会导致日后难以坚持你的交易计划。当交易者找到最适合他们的交易风格时,这种风格通常会持续很长时间。在交易中的表现取决于你如何......
  • SQL的语法知识
     1.全表查询  示例:select*from表名2.选择查询 选择特定的列或者字段示例:selectname,age表名3.查询别名 {原始字段名}as{别名}示例:selectnameas'学生姓名' 表名4.查询常量和运算  加减乘除、取平均值、连接文本等示例:selectname,score,score/2......
  • ASN.1抽象语法标记1
    ASN.1编码berASN.1(抽象语法表示法一)ASN.1(抽象语法表示法一)是一种正式但灵活的表示法,允许您指定高级电信协议中使用的抽象对象。您可以使用整数和位字符串等简单类型以及集合和序列等结构化类型来构建复杂类型的定义。基本编码规则 (BER)BER 描述了如何将每种 ASN.1 类型的......
  • cocos2dx 3.x C++搭建protobuf环境
    Cocos2dx里面在网络游戏通信这一块一般我们都会采用protobuf来进行通信,cocos引擎没有集成C++的protobuf,那我们只能自己来集成了。因为protobuf有很多版本,那么我们怎么去下载与引擎中想对应的protobuf版本呢。他在cocos2d-x\tools\simulator\libsimulator\lib\protobuf-lite在这里......
  • 使用protobuf()
    Protobuf的简介请看这里:哪我们来讲一下该如何使用1,首先去谷歌网站上下载(https://github.com/google/protobuf)我下载的是2.5版本的2,编译好工程,如图所示(挨个编译,注:test工程不需要编译),在编译protoc工程的时候,可能报错,1>main.obj:errorLNK2019:unresolvedexternalsymbol"p......
  • 关于powershell常用语法说明
    1变量使用说明#声明和赋值变量$var="Hello,World!"#输出变量值Write-Host$var2交互式输入#从用户获取输入$name=Read-Host"Enteryourname"Write-Host"Hello,$name!"3多分支判断$number=5if($number-gt10){Write-Host"Numberisgreater......
  • css语法
    CSS支持nvue样式css预处理器#页面样式与布局uni-app的css与web的css基本一致。本文没有讲解css的用法。在你了解web的css的基础之上,本文讲述一些样式相关的注意事项。uni-app有vue页面和nvue页面。vue页面是webview渲染的、app端的nvue页面是原生......
  • 数据库基本语法四 数据库查询(DQL)
    数据查询语言(DQL)是SQL语言中的一部分,主要用于查询数据库中的数据。DQL允许用户根据特定的条件来检索表中的数据,并且可以包含一些基本的操作和条件。语法结构:SELECT列名称1,列名称2FROM表名称;其中,SELECT指定要检索的列,FROM指定要查询的表,WHERE指定筛选条件。以下是一些......
  • mysql 常用脚本语法
    mysql常用脚本语法创建表:CREATETABLEtest_db1.test_table1(idINTauto_incrementNOTNULL,my_namevarchar(100)NOTNULL,memovarchar(100)NULL,CONSTRAINTtest_table1_PKPRIMARYKEY(id))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=ut......