一、代碼風格
-
每一行的代碼長度不要超過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