很少有广泛使用的方法来命名这些类型的方法,尤其是在通用类中。
- getInstance()一样的()with()
还有许多其他变体,但它们并不是那么普遍。
从我的角度来看,这些命名约定看起来是这样的:
- getInstance()只是丑陋而冗长。的()和with() are modern ones, widely used 和for quite some time were my main approaches.
最近我遇到了一个不便之处的()和with():如果我将它们与静态导入结合使用(为简洁起见),它们的清晰度就会变得松散(难以决定哪个的()要么with()属于哪个类别)。
如果只有一个这样的静态导入,那么问题就不那么严重了。 但是我经常在代码中需要使用此类工厂方法的几个类。 在这种情况下,我不能对它们两个都进行静态导入,因此我应该对所有它们都使用合格的名称(以及简洁性),或者对其中之一使用静态导入,而对其他名称使用合格的名称(以及清晰度和 简洁)。
为了解决此问题,我决定更改方法并将类的小写名称用作静态工厂方法名称。 这使我可以对所有此类使用静态导入,并保持清晰和简洁:
...
final var entries = map(1, "First", 2, "Second");
...
final var topicList = list("One", "Two", "Three");
...
final Promise<List<User>> friends = promise();
...
所有内容都在同一个文件中,简洁明了。
我想知道您对这种方法的看法。