文章目录
- 一、代码风格
- 二、文件格式
- 三、包
- 四、消息类型和字段
- 五、repeated字段
- 六、枚举类型
- 七、服务
一、代码风格
- 每一行的代码长度不要超过80。
- 使用两个空格进行缩进。
二、文件格式
文件命名应该采用蛇形命名法(即用下划线连接),如:lower_snake_case.proto。所有文件应以下列方式排列:
- License header (if applicable)
- File overview
- Syntax
- Package
- Imports (sorted)
- File options
- 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