Protocol buffers 用相同类型替换字段,但在协议缓冲区中的含义不同
我想更新协议缓冲区中的消息:Protocol buffers 用相同类型替换字段,但在协议缓冲区中的含义不同,protocol-buffers,Protocol Buffers,我想更新协议缓冲区中的消息: message Person { string name = 1; } 现在,假设我不想要一个人的名字,而只想要它的地址: message Person { string address = 1; } 现在,id可以保留为1,因为类型始终是字符串,但我想知道这样重写消息是否更好: message Person { string address = 2; reserved 1; } 为了在不同版本之间具有更高的可读性。您只需安全
message Person {
string name = 1;
}
现在,假设我不想要一个人的名字
,而只想要它的地址
:
message Person {
string address = 1;
}
现在,id
可以保留为1
,因为类型始终是字符串,但我想知道这样重写消息是否更好:
message Person {
string address = 2;
reserved 1;
}
为了在不同版本之间具有更高的可读性。您只需安全地更改字段名即可(如果您希望保持相同的id和类型),请检查下面的帖子将对您有所帮助
而且在我看来,它总是好的
required or optional
消息字段的注释我说的不是安全性,而是可读性。我知道这两个版本都有向后兼容性。啊,是的,忘记了要点,是的,使用reserved会增加可读性,并且protobuf编译器会在有人试图重用它时进行标记,但我不清楚是否更改了“tag”(值1到2)消息将向后兼容,因为旧版本的程序可能不知道此新值