スタイルガイド

この文書は .proto ファイルのスタイルガイドを提供します。 これらの規約に従うことで、プロトコルバッファのメッセージ定義と対応するクラスは一貫して簡単に読めるものになるでしょう。

メッセージとフィールド名

メッセージの名前には CamelCase(先頭は大文字)を使います。例: SongServerRequest フィールドの名前には、にはアンダースコアで区切られた名前を使います。例: song_name

message SongServerRequest {
  required string song_name = 1;
}

フィールド名にこの名前規約を使えば、次のようなアクセサが生成されます:

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

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

列挙型

列挙型の名前には CamelCase(先頭は大文字)を使い、値の名前にはアンダースコアで区切った大文字を使います:
enum Foo {
  FIRST_VALUE = 1;
  SECOND_VALUE = 2;
}

列挙型の値はセミコロンで終端します。カンマではありません。

サービス

.proto ファイルに RPC サービスを定義する場合は、サービス名と RPCメソッド名には CamelCase(先頭大文字)を使うべきです。
service FooService {
  rpc GetSomething(FooRequest) returns (FooResponse);
}