【发布时间】:2017-05-07 04:16:00
【问题描述】:
假设我有不同的类来处理同一协议的不同版本(可能具有不同的接口)。例如,一个名为 My Protocol (MYP) 的虚构协议:
我的协议 (MYP) 版本 1.0、1.1、2.0、2.2 等...
我能想到的一些命名示例是:
MYP10Handler, MYP11Handler, MYP20Handler, MYP22Handler, ...
MYP1_0Handler, MYP1_1Handler, MYP2_0Handler, MYP2_2Handler, ...
如果使用第一个选项,例如,如果协议达到更高版本,则会出现歧义。比如11.0(十一)版本:
MYP11Handler:版本 1.1 还是 11.0?
MYP110Handler:版本 11.0 还是 1.10?
然而,第二个选项似乎逃脱了骆驼案例规则。
通常如何对这些类型的类进行命名?有没有更好的做法?
【问题讨论】:
-
我投票决定将此问题作为离题结束,因为它要求某些技术或程序的最佳实践
-
我在Google Java Style Guide 中对此进行了介绍?
-
你不应该把版本号放在类名中。您应该将它们放在像
com.company.protocol.11_0.MyHandler这样的包名中。当然应该有一个没有版本com.company.protocol.MyHandler的接口 -
@Frakcool MYP 协议是虚构的,它可以是任何协议。
-
@TimothyTruckle 包名中可以有下划线吗?例如,Google Java Style Guide 在命名包时是反对的。
标签: java version naming convention