Я использую google guice inject на уровне конструктора. Имеет ли смысл делать нулевую проверку параметров, чтобы убедиться, что они не являются нулевыми или инъекция делает это для нас. Btw, его общественный конструктор.
Как насчет общественного метода?
Просто потому, что вы, случаем, используете Guice для вызова конструктора, в некоторых случаях не означает, что что-либо еще запрещает его называть.
Лично я бы включил проверки недействительности, которые очень легкие на крутых, если вы тоже используете Guava. Например:
import static com.google.common.base.Preconditions.checkNotNull;
class Player implements SomeInterface {
private final String name;
@Inject
Player(String name) {
this.name = checkNotNull(name);
}
...
}
Помимо всего прочего, я ожидал бы, что некоторые из ваших тестов будут напрямую обращаться к конструктору - и это поможет найти ошибки в ваших тестах как можно раньше, так же как и другие коды. Он также четко выражает ваше намерение всем, кто приходит позже.
@Inject
-annotated Конструкторы не рекомендуется , чтобыpublic
: code.google.com/p/google-guice/wiki/KeepConstructorsHidden