protobuf 最佳文件命名风格是什么?

9

有关样式指南协议缓冲区,但它没有清楚地说明.proto文件应该命名为什么。

MyProtos.protomy_protos.protomy-protos.proto,哪个更好?

2个回答

10

我认为没有一个适当的答案来回答如何命名任何文件,除了追求一致性和清晰度。

一致性意味着要遵循项目中已有的源代码和标头文件的文件命名惯例。如果您的源代码是用驼峰命名法命名的,那么对于proto文件也应该采用相同的方法。在我看来,最常见的选择是使用my_protos.proto版本。

对我而言,清晰度意味着文件名应该给出一些关于其内容的提示。通常我倾向于将文件命名为它们实现的类,每个类通常都有一个单独的文件 (Pair)。我建议对proto文件采用相同的方式。我更喜欢几个小型的proto文件,每个文件定义一个单独的Message或非常相关的Messages, 而不是一个单独的巨大的proto文件,在同一个位置定义所有的Messages


6
请注意,Java中有一种限制。如果您有名为Person.proto的proto文件,则无法声明名为Person(大写P)的消息。这是因为生成的代码会创建一个名为Person的包装类来表示proto文件,而声明的消息名称会创建一个同名的嵌套类(在此情况下)。 - noti
2
@noti 看起来情况已经不是这样了。我刚试了一下,外部类的名称是 PersonOuterClass。不太确定它是何时被更改的。 - Captain Man
我们中的一些人可能觉得同意“我不相信有一个适当的答案来规定任何文件的命名”,除了追求一致性和清晰度,这会更方便一些。然而,即使这样的说法在一般情况下是正确的(不是所有情况),但对于protobuf文件来说可能并不是全部。对于像protobuf这样生成多种不同语言文件的工具,实际问题很重要;例如,“在不同语言中如何生成文件名?”和“如何命名文件以避免痛点?”例如,在下划线和连字符周围的工具中看到混淆行为。 - David J.

9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接