Style Guide中文翻译(Google Protocol Buffers中文教程)

Google Protocol Buffers中文教程 注:这些是本人的翻译,可能不准确,可能有错误,但是基本上可以理解,希望能对大家有所帮助!(转载请注明出处:本文来自learnhard的优快云博客:http://blog.youkuaiyun.com/learnhard/)请参看如下几个链接:Style Guide中文翻译(Google Protocol Buffers中文教程)Language Guide中文翻译(Google Protocol Buffers中文教程)Style Guide中文翻译(Google Protocol Buffers中文教程) 阅读详情

NULL

完整文章,请查 看:http://www.codelast.com/?p=305


Style Guide 风格指南

注:这是本人的翻译,可能不准确,可能有错误,但是基本上可以理解,希望能对大家有所帮助!(转载请注明出处:本文来自learnhard的博客:http://www.codelast.com/ & http://blog.youkuaiyun.com/learnhard/)


This document provides a style guide for .proto files. By following these conventions, you'll make your protocol buffer message definitions and their corresponding classes consistent and easy to read.

本文档提供了.proto文件的书写风格指南。通过遵守这些约定,你的protocol buffer消息定义和它们的对应类将会风格一致且易于阅读。

Message And Field Names 消息和字段名

Use CamelCase (with an initial capital) for message names – for example, SongServerRequest. Use underscore_separated_names for field names – for example, song_name.

消息名使用驼峰格式(每个单词首字母大写)来书写——例如SongServerRequest。字段名使用小写的下划线分隔式(underscore_separated_names)来书写——例如song_name。

message SongServerRequest {

  required string song_name = 1;

}

Using this naming convention for field names gives you accessors like the following:

字段名使用这种形式的命名约定的话,生成的访问类中的函数就有如下形式:

C++:
  const string& song_name() { ... }
  void set_song_name(const string& x) { ... }

Java:
  public String getSongName() { ... }
  public Builder setSongName(String v) { ... }

Enums 枚举

Use CamelCase (with an initial capital) for enum type names and CAPITALS_WITH_UNDERSCORES for value names:

枚举名使用驼峰格式(每个单词首字母大写)来书写,值名使用大写的下划线分隔式(CAPITALS_WITH_UNDERSCORES)来书写:

enum Foo {
  FIRST_VALUE = 1;
  SECOND_VALUE = 2;
}

Each enum value should end with a semicolon, not a comma.

每一个枚举值都应该以分号结尾,而不是逗号。

(本文来自learnhard的优快云博客:http://blog.youkuaiyun.com/learnhard/)

Services 服务

If your .proto defines an RPC service, you should use CamelCase (with an initial capital) for both the service name and any RPC method names:

如果你的.proto文件定义了一个RPC服务,那么服务名和任何RPC函数名都应该使用驼峰格式(每个单词首字母大写)来书写:

service FooService {

  rpc GetSomething(FooRequest) returns (FooResponse);

}

 

 

完整文章,请查看:http://www.codelast.com/?p=305

 

ProtoBuf详解(二)编码风格 本片文章主要介绍 protobuf 的编码风格,这些都是 google 官方推荐的 proto 文件编码风格,遵循这些风格编写 proto 风格,可以使团队的 ProtoBuf 消息定义和风格保持一致,有利于阅读和维护。 protobuf 的风格可能会随着不同版本变化,有可能会看到 .proto 文件以不同的风格编写,但是最好采用当前的最佳风格,请参考官方 Protobuf Style Guide。 文件的标准格式 每行的长度保持在 80 个字符以内。 使用 2 个空格缩进。(注:这里实际使用 4 个空格 阅读详情

相关推荐

Google编码规范中文版(zh-google-style-guide)

Google编码规范 中文版,打开压缩包中build/html/index.html即可浏览器查阅

Protocol Buffers Style Guide

风格指南本文档提供了.proto文件的样式指南。通过遵循这些约定,您将使protocol buffer消息定义及其对应的类一致且易于阅读。消息和字段名称使用大驼峰格式(CamelCase)作为消息名称 - 例如,SongServerRequest。 对于字段名称使用下划线分割的小写单词命名(underscore_separated_names),例如song_name。message SongSe

小小书童 548

IBM System x3650 M5 IMM配置

1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...

血饮渊虹的博客 4万+

我经历的 Protocol Buffers 那些坑

导语:Protocol Buffers是一种广泛使用结构化数据存储格式,可以用于结构化数据的序列化/反序列化,也是很多rpc框架的基础之一,在Google内部大规模使用。...

weixin_45583158的博客 854

【深度学习】通俗易懂讲解循环神经网络LSTM

目录 1、循环神经网络(Recurrent Neural Networks) 2、长依赖存在的问题 3、LSTM 网络 4、LSTMs的核心思想 5、一步一步理解LSTM 6、LSTM的变种 7、总结 1、循环神经网络(Recurrent Neural Networks) 人对一个问题的思考不会完全从头开始。比如你在阅读本片文章的时,你会根据之前理解过的信息来理解下面看到的文字。...

Nieson2012的专栏 2731

聊一聊固态电池和钠离子电池新技术

总之,固态电池是一种“安全又高效的未来电池”,它的好处非常明显,但目前还处于研发阶段,离普及还有一段距离。未来,这两种技术可能会与锂离子电池并存,分别满足不同的市场需求。我尝试用最通俗易懂的语言将复杂的技术讲给大家听。钠离子电池和锂离子电池的工作原理很相似,但它用的是。固态电池和钠离子电池是两种正在研发和推广的。,它们有潜力解决现有锂离子电池的部分缺点。,而不是锂(Li)。

weixin_33324696的博客 3333

Style Guide of Protocol Buffers Developer Guide

Style Guide This document provides a style guide for .proto files. By following these conventions, you'll make your protocol buffer message definitions and their corresponding classes consistent an...

老浣熊 203

手机如何高效辅助林业调查

手机如何高效辅助林业调查 很多林业工作者将栅格类型的地形图处理后导入平板电脑,在林地使用平板电脑加载小班矢量图,辅助林业调查。但是,如果没有地形图底图,这种方法可能就有难度,而且最重要的是,大部分林地工作者没有能力配置平板电脑。大凡林业基层工作者在林地调查时,除调查记录本等部分纸质材料外,都必然携带手机和水杯,此外其他设备已经成为累赘,尤其是炎热的夏季在杂灌丛生的林地进行调查作业。因此,使用手机...

xu780820的博客 3078

Google Protocol Buffers 入门

个人小站,正在持续整理中,欢迎访问:http://shitouer.cn 小站博文地址:Google Protocol Buffers 入门 推荐阅读顺序,希望给你带来收获~ 《Google Protocol Buffers 概述》 《Google Protocol Buffers 入门》 《Protocol Buffers 语法指南》 《Google Protocol Bu...

depe16540458的博客 333

把外部系统接到 SAP Build Process Automation 的两条路:前台直连与后台编排的完整范式

想把外部系统接入到你的【销售订单管理】审批流程,最稳妥的路径是:在流程里开一个,在 BTP 配好以为核心的 Destination,让前端经由approuter代理、后台通过 Cloud SDK 直连,任务处理用My Inbox或Task APIs,异步对接用。这套组合拳,既满足安全边界与运维规范,又能让前台与后台两个世界各取所需、自然衔接。SAP。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1661

大数据在电力行业的应用案例解析-【电力技术】(九)大数据在电力储能运维中的深度应用(含故障预测代码)

大数据技术为电力储能运维提供了“精准化、智能化、高效化”的解决方案,破解了传统运维的核心痛点,实现了储能系统从“被动抢修”到“主动运维”的转型,为新型电力系统建设提供了重要支撑。当前,随着储能产业的快速发展,大数据与储能运维的融合将更加深入,未来将结合人工智能、物联网、区块链等技术,实现储能运维的全流程智能化——从设备故障的提前预警,到寿命的精准预测,再到运维策略的自动优化、调度协同的实时响应,进一步提升储能系统的安全性、经济性与可靠性。

getusushu的博客 88

Google C++ Style Guide中英对照(一)

转自http://blog.youkuaiyun.com/fz_ywj/article/details/8647162 Google C++ Style Guide翻译版 ——by 安菲拉尔 2013/02/09 1 Background 背景 C++ is the main development language used by many of Google's open-

custamg2008的专栏 2231

Android 14.0 SystemUI状态栏居中显示时间和修改时间显示样式

在14.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了

安卓兼职framework和app工程师的博客 979

protobuf-unity

https://github.com/5argon/protobuf-unity Automatic .proto files compilation in Unity project to C# as you edit them. protobuf-unity Sirawat Pitaksarit / 5argon - Exceed7 Experiments Do you want ...

嘿嘿 986

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Google Style Guides-Shell Style Guide

作者声明这篇翻译文章对我来说是有点小挑战的,因为我英语实在很烂,勉强可以看懂一些技术文档,能够猜出大概的含义,但是翻译对我来说算是一个挑战,看英文文档已经不是一天两天的事了,但是这个篇文章却是我的处女作,通读了这篇翻译后的文章,已经发现部分语句翻译的很不好,但是我没有能力纠正好,加上时间上不允许,最后我还是厚着脸皮放到了博客上,如果有幸某位读者读到我这蹩脚的翻译,希望你可以在唾骂我的同时也给出正确的

zyfforlinux 2920

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

protobuf命名规则

笔者最近在使用protobuf进行数据传输的时候,发现序列化后的proto数据使用node.js转化为json字符串后, proto数据中的变量如frameId自动变成了frameid, 导致不能正确的从json转换回proto数据格式,最后发现还是proto命名规则搞的鬼, 使用驼峰命名的成员变量如frameID, 在使用proto的方法进行赋值时,会默认变成: frame.set_framei...

sanduan168的博客 9621

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

rsync错误:@ERROR: auth failed on module XXX 的原因之一

在Linux下使用rsync,将远程目录下的文件同步到本地目录时,可能会出现以下错误: @ERROR: auth failed on module XXX 其中,XXX 表示你的远程rsync服务模块名称。 出现这种情况,先检查你的用户名和密码是否正确,如果都正确,有一个可能是原因是:远程rsync服务器的帐户密码文件的权限必须为600,例如,你在rsyncd.conf中设

编码无悔 5万+

shell中初始化数组并遍历数组

<br />假设有数组名为ARR,则初始化的一种方法是:<br /> <br />ARR=(2 4 6 8)<br /> <br />其中,括号里的各项使用空格来分隔。<br /> <br />遍历数组的方法为:<br /> <br />for NUM in ${ARR[*]}<br />do<br />echo $NUM<br />done<br /> <br />其中,每一次循环过程中,数组里的当前元素均被保存到NUM变量中,使用即可。<br /> 

编码无悔 4万+

用GDB调试Segmentation Fault错误

        调试Linux程序的时候,出现Segmentation Fault是最郁闷的事情了,程序代码量很大的时候,可能花很多时间都找不到出错原因。       这里介绍一种对你调试Segmentation Fault很有帮助的方法,可能能迅速帮助你找到出错的代码行。       这种方法需要用到Linux提供的core dump机制:当程序中出现内存操作错误时,会发生崩溃并产生

编码无悔 4万+

valgrind提示的错误:Conditional jump or move depends on uninitialised value(s)

用valgrind对代码进行内存检测的时候,如果提示“Conditional jump or move depends on uninitialised value(s)”,有可能是某些变量未初始化造成的。例如我遇到的两处这样的提示,一处是由于 struct tm 结构体未初始化,另一处是由于 char tmp[512]未初始化造成的。要初始化,只需memset即可,这样做之后,valgrin

编码无悔 3万+

关于Linux中的SIGABRT信号

转自网络: SIGABRT是中止一个程序,它可以被捕捉,但不能被阻塞。处理函数返回后,所有打开的文件描述符将会被关闭,流也会被flush。程序会结束,有可能的话还会core dump。 当程序调用abort(3)时,该进程会向自己发送SIGABRT信号。所以,SIGABRT一般用于信号中一些关键的处理,assert失败时也会使用它。你不应该去捕捉SIGSEGV和SIGABRT信号,如果收到

编码无悔 3万+

std::find,std::find_if对类进行查找

STL的find,find_if函数提供了一种对数组、STL容器进行查找的方法。使用该函数,需 #include 我们查找一个list中的数据,通常用find(),例如:using namespace std;int main(){list lst;lst.push_back(10);lst.push_back(20);lst.push_back(30);list::iterator it = find(lst.begin(), lst.end(), 10);// 查找list中是否有元素“10”if (i

编码无悔 3万+

curl的超时时间设置

使用curl时,有两个超时时间:一个是连接超时时间,另一个是最大允许时间。连接超时时间用 --connect-timeout 参数来指定,最大允许时间用 -m 参数来指定。例如:curl --connect-timeout 10 -m 20 "http://XXXXXXX"连接超时的话,出错提示形如:curl: (28) connect() timed out!最大允许时间超时的话,出错提示形如:curl: (28) Operation timed out after 2000 milliseconds w

编码无悔 2万+

免费/开源的视频监控软件

在中文网站里找一个免费的视频监控软件还真不容易,随便一搜出来都是收费的,而且功能还不咋滴。转到国外网站,别说是免费的,开源的软件功能都杠杠地。 (1)ZoneMinder : the top Linux video camera security and surveillance solution。网址:http://www.zoneminder.com/ (2)SecureC

编码无悔 1万+

一些发送Email的C/C++库/软件

spnetkit(无文档,有示例程序): http://code.google.com/p/spnetkit/msmtp:http://msmtp.sourceforge.net/index.htmlLibESMTP:http://www.stafford.uklinux.net/libesmtp/index.htmlPOCO:http://pocoproject.org/index.html

编码无悔 1万+
上一篇: Language Guide中文翻译(Google Protocol Buffers中文教程)
下一篇: Google Protocol Buffers中文教程
codelast.com
博客等级 码龄21年 92粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值