Java类版本特定的命名约定


10

我必须在两个软件(机械仿真,非CS)之间创建一个适配器。假设我们有一个名为的类ThatThing。我必须处理各种特定于供应商的实现。这些版本没有有意义的名称(与日食日光灯,靛蓝等不同)。

1.我应该如何命名一个应该表达版本号的类?

我觉得像上课ThatThing_3_6_ImplThatThing_3_7_Impl很尴尬。

Answers:


20

使用其他程序包名称。

com.example.version36.ThatThing
com.example.version37.ThatThing

这使您可以将特定版本的所有“内容”保持在一起。

Apache Commons Lang在发布其“版本3”重写时使用了这种格式。


由于您需要能够在一个类中引用这两个版本,因此我将名称简称为:

ThatThing36
ThatThing37

在您的情况下,这似乎具有足够的描述性,并且删除了丑陋的Impl_


听起来不错。我会考虑的。尽管在这些版本结合在一起的地方,我们需要为引用使用完全限定的名称,对吗?
2011年

他们如何在一起?您在使用依赖注入吗?无论哪种方式,都可以回答您的问题。
Jeremy Heiler 2011年

他们具有许多版本的数据模型,这些版本在发行版之间会发生变化。一些特定的功能子集混合在一起。完全没有库支持(例如,没有di,没有代码源)。这11年的软件发展:(史。
user802421

伤心。通过version37.ThatThing扩展version36.ThatThing可以减轻一些痛苦吗?
Jeremy Heiler 2011年

不幸的是,它们在结构上不同,需要复杂的转换。就像位图和矢量图形。
user802421 2011年

2

没关系。选择一个表达您需要表达并坚持的一切约定。

您可以使用ThatThing3_6“ That Thing 3.6”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.