【发布时间】:2011-09-02 20:35:58
【问题描述】:
我有一个接口,声明如下:
/**
* @param T - the type of entity.
* @param C - the type of entity container will be returned.
*/
public interface FindByNamedQuery<T extends Serializable, C extends Collection<T>> extends Command {
C executeNamedQuery(String namedQuery);
}
我想知道我是否可以(应该)打破 Java 命名约定来做到这一点:
public interface FindByNamedQuery<ENTITY_TYPE extends Serializable, RETURNED_CONTAINER extends Collection<ENTITY_TYPE>> extends Command {
RETURNED_CONTAINER executeNamedQuery(String namedQuery);
}
【问题讨论】:
-
你已经有了你的
@param标签来给用户关于类型参数的信息。 -
我的目的是让声明更具描述性。
-
您有正确的想法,使其更具描述性,将类型参数限制为 1 个字符,因为这很愚蠢,IMO。您提出的约定的唯一错误是
ALL_CAPS表示常量。 -
@ColinD,您对方法的参数也有相同的要求,但您不会到处命名
a、b、c等。
标签: java generics naming-conventions