Me pareció inconveniente que la condición previa checkNotNull()
en guava no esté marcada con la anotación @Nonull
. Consideremos siguiente ejemplo:Por qué checkNotNull() no está anotado con @Nonnull
State(Set<Model> models, Set<Variation> variations) {
this.models = checkNotNull(models);
this.variations = checkNotNull(variations);
if (this.variations == null) {
throw new IllegalArgumentException();
}
this.engine = createEngine();
}
Así IDE no se pudo encontrar que variations == null
siempre es falsa. ¿Hay alguna razón particular por la cual esta condición previa no esté marcada con @Nonull
(incluso si sus argumentos se definen usando @Nullable
).
Podría perder la opción de enviar un RP para una página wiki de GitHub, porque yo mismo habría escrito algo al respecto. Pero como no puedo, alguien puede agregar al menos un sentencia como "Guava solo usa @Nullable internamente, por lo que todos los tipos de devolución se asumen pero no se marcan con @Nonull" (o similar): https://github.com/google/ guice/wiki/UseNullable – eckes