我正在寻找为公共类的非功能(实用程序)扩展命名guidlines。
在C#中,我过去经常使用其中一些:
1)ListExtensions太长但是使用扩展方法ListExtensions永远不会出现。用法就是。 var productList = new List(); productList.MyExtendedMehod();
2)ListHelpers。这是旧的C#2.0时代,用法是ListHelpers.MyExtendedMethod(productList);
现在我正在使用java。我学到的是Collections,Arrays类。那么你如何命名你的助手类。 CollectionUtils?收藏? CollectionsEx?
答案 0 :(得分:4)
我认为XXXUtils是常见的方式。然后,您可以使用静态导入来删除类名。
class FooUtils {
public static foo(int x) { ... }
}
static import FooUtils.foo;
foo(5);
答案 1 :(得分:3)
查看Apache Commons Collections库以获取一些命名提示。也许这个图书馆做了很多你想要做的事情!
答案 2 :(得分:2)
答案 3 :(得分:2)
我总是尝试以复数形式使用包名。它比Util或Utils短,听起来更像英文。
我相信JDK中的Arrays和Collections听起来比它们被命名为ArrayUtils或CollectionUtils要好得多。
对于火车包,我的工具将被放置在一个名为火车的类中。
答案 4 :(得分:1)
1)我没有看过很多,但我相信好的命名方案是给出一个功能名称(SynchronizedSet等)。您可以从Apache's commons-collections或google collections获取示例。
2)“标准”后缀是Utils - SwingUtils,StringUtils等。
答案 5 :(得分:1)
Apache Commons通过使用XXXUtils模式设置了相当标准。
答案 6 :(得分:1)
我个人尝试选择实用程序类名称,使得clase名称是方法名称的一部分。例如
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!");
等等......