2

我正在寻找通用类的非功能(实用程序)扩展的命名指南。

在 C# 中,我曾经使用过其中的一些:

1) ListExtensions,太长但带有扩展方法的 ListExtensions 永远不会出现。用法刚刚好。var productList = new List(); productList.MyExtendedMehod();

2) 列表助手。这是在旧的 C# 2.0 时代,用法是 ListHelpers.MyExtendedMethod(productList );

现在我正在用java潜水。我学到的是集合、数组类。那么你如何命名你的助手类。收集工具?收藏?收藏品?

4

7 回答 7

4

我认为 XXXUtils 是常用的方法。然后您可以使用静态导入来摆脱类名。

class FooUtils {
  public static foo(int x) { ... }
}

static import FooUtils.foo;
foo(5);
于 2009-05-17T11:58:09.430 回答
3

查看Apache Commons Collections库,了解一些命名理念。也许这个库做了很多你想做的事情!

于 2009-05-17T11:58:28.073 回答
2

在 Java 中,有一种使用复数形式的模式,例如java.util.Collections为相应的类/包保存全局函数式静态方法。

例如,

Collections.shuffle(list);

随机播放列表。

于 2009-05-17T12:03:06.720 回答
2

我总是尝试使用复数形式的包名称。它比 Util 或 Utils 短,听起来更像英语。

我相信 JDK 中的数组和集合听起来比命名为 ArrayUtils 或 CollectionUtils 好得多。

对于 train 包,我的 utils 将放在名为 Trains 的类中。

于 2009-05-17T12:16:22.930 回答
1

1)我没有看到很多,但我相信好的命名方案是给一个功能名称(SynchronizedSet等)。您可以从Apache 的 commons-collectionsgoogle collections中获取示例。

2) “标准”后缀是 Utils - SwingUtils、StringUtils 等。

于 2009-05-17T11:59:06.013 回答
1

Apache Commons通过使用 XXXUtils 模式设定了相当标准。

于 2009-05-17T11:59:52.190 回答
1

我个人尝试选择实用程序类名称,以便类名称是方法名称的一部分。例如

list = As.list(array);
set = As.set(list);
b = All.notNull(foo, bar, qux, ...);
name = Defaults.to(input, "Joe Random");
value = For.example(StackTest.class, "withSomeValues"); 
b = Is.empty(iterable);
Out.put("Hello, Worlds!");

等等...

于 2009-06-16T08:47:47.597 回答