Думая о наименовании служебных классов в Java - PullRequest
2 голосов
/ 17 мая 2009

Я ищу указания по именованию для нефункциональных (служебных) расширений общих классов.

В C # я использовал кое-что из этого:

1) ListExtensions, слишком длинный, но с методами расширения ListExtensions никогда не появляется. Использование просто. var productList = new List (); productList.MyExtendedMehod ();

2) ListHelpers. Это было в старой эре C # 2.0, использование ListHelpers.MyExtendedMethod (productList);

Теперь я ныряю с Java. То, что я узнал, это Коллекции, Классы Массивов. Итак, как вы называете свои вспомогательные классы. CollectionUtils? Коллекции? CollectionsEx

Ответы [ 7 ]

4 голосов
/ 17 мая 2009

Я думаю, что XXXUtils - это обычный способ. Затем вы можете использовать статический импорт, чтобы избавиться от имени класса.

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

static import FooUtils.foo;
foo(5);
3 голосов
/ 17 мая 2009

Ознакомьтесь с библиотекой Apache Commons для некоторых идей по именованию Может быть, эта библиотека делает много вещей, которые вы хотите сделать в любом случае!

2 голосов
/ 17 мая 2009

Я всегда стараюсь использовать имя пакета во множественном числе. Он короче, чем Util или Utils, и звучит более по-английски.

Я считаю, что массивы и коллекции из JDK звучат намного лучше, чем если бы они назывались ArrayUtils или CollectionUtils.

Для пакета поездов мои утилиты будут помещены в класс под названием Поезда.

2 голосов
/ 17 мая 2009

В Java есть шаблон использования множественного числа типа java.util.Collections для хранения глобальных функционально-подобных статических методов для соответствующего класса / пакета.

Например,

Collections.shuffle(list);

перетасовывает список.

1 голос
/ 16 июня 2009

Лично я стараюсь выбирать имена служебных классов так, чтобы имя 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!");

и так далее ...

1 голос
/ 17 мая 2009

Apache Commons установил довольно стандартный стандарт XXXUtils.

1 голос
/ 17 мая 2009

1) Я не видел это много, но я считаю, что хорошая схема именования - дать функциональное имя (SynchronizedSet и т. Д.). Вы можете получить примеры из общих коллекций Apache или коллекций Google .

2) «Стандартный» суффикс - это Utils - SwingUtils, StringUtils и т. Д.

...