Protobuf消息为复数/不可数名词时repeated字段命名规范咨询
Protobuf 不可数/复数类型消息的 repeated 字段命名规范
你给出的示例写法 repeated Metadata metadata_list = 1 不符合业内通用约定,具体处理规则如下:
- Protobuf 官方要求 repeated 字段使用复数形式,仅针对常规可数名词,对于不可数名词、本身就是复数形式的名词,不需要强行构造不符合英语使用规范的复数形式。
- 示例中的
Metadata属于不可数名词,本身没有标准复数形式(强行写为metadatas属于错误用法),直接使用原名词作为 repeated 字段名即可,正确写法如下:
message MetadataList { repeated Metadata metadata = 1; }
repeated 修饰符本身已经明确标识该字段是集合类型,不需要额外加 _list、_array 这类冗余的类型后缀,避免不必要的命名冗余。
- 如果有特殊场景需要明确区分单个实例和集合,也可以选择加
_entries后缀,写法为repeated Metadata metadata_entries = 1,这种写法在业内也被广泛接受,不过优先级低于直接使用原名词的方案。
内容的提问来源于stack exchange,提问作者Lykov
相关产品推荐
相关产品推荐

