原始消息及其属性的相对位置的差异

问题描述

protobuf消息中的属性是第一成员还是第二成员有什么区别?

我拥有的请求原型消息有2个字段。我被要求交换属性的位置

message SomeRequest {
  SomeMessage1 message1 = 1;
  SomeMessage2 message2 = 2;
}

更改为:

message SomeRequest {
  SomeMessage2 message2 = 1;
  SomeMessage1 message1 = 2;
}

这种建议的可能原因是什么?希望对message2进行更多搜索? 另外我还可以通过其他一些场景来更好地理解它吗?

提前谢谢!

解决方法

最终,谁要求这个更改-也许是问他们的原因?

场景中,较低的字段编号更便宜(在空间方面),因此应首选,但字段1和2在空间方面相同,因此不必担心在这里。

如果这是为了与已有的类似类型兼容,则可能是合理的请求。