예, 클래스 이름과 명확하게 구별되는 한 유형 변수에 대해 다중 문자 이름을 사용할 수 있습니다.
이것은 2004 년에 제네릭을 도입하면서 Sun이 제안한 규칙과 다릅니다. 그러나 :
- 둘 이상의 규칙이 있습니다.
- 다중 문자 이름은 Google의 Java 스타일과 같은 다른 Java 스타일과 일치 합니다.
- 읽을 수있는 이름이 (놀랍습니다!) 더 읽기 쉽습니다.
가독성
일부 인터페이스에서 코드를 더 읽기 쉽게 만들기 위해 하나 이상의 문자로 일반 유형 매개 변수의 이름을 지정하고 싶습니다.
가독성이 좋습니다.
비교:
public final class EventProducer<L extends IEventListener<E>,E>
implements IEventProducer<L,E> {
에:
public final class EventProducer<LISTENER extends IEventListener<EVENT>,EVENT>
implements IEventProducer<LISTENER, EVENT> {
또는 Google의 다중 문자 규칙 :
public final class EventProducer<ListenerT extends IEventListener<EventT>,EventT>
implements IEventProducer<ListenerT, EventT> {
public final class EventProducer<ListenerT extends IEventListener<EventT>,EventT>
implements IEventProducer<ListenerT, EventT> {
Google 스타일
구글 자바 스타일 가이드가 있습니다 단일 문자 이름과 멀티 문자 클래스와 같은 T.로 끝나는 이름을 모두
5.2.8 유형 변수 이름
각 유형 변수는 다음 두 가지 스타일 중 하나로 이름이 지정됩니다.
임의로 하나의 번호 뒤에 단일 대문자 (예컨대 E
, T
, X
, T2
)
클래스에 사용되는 형식의 이름 (섹션 5.2.2, 클래스 이름 참조) 뒤에 대문자 T가옵니다 (예 : RequestT
, FooBarT
).
이슈
"이 규칙이 없으면 유형 변수와 일반 클래스 또는 인터페이스 이름의 차이를 구분하기 어려울 것입니다." – Oracle 자습서에서 "일반 유형"
위에서 살펴본 것처럼 단일 문자 이름이 유형 매개 변수를 클래스 이름과 구별하는 유일한 방법은 아닙니다.
JavaDoc에서 의미하는 유형 매개 변수를 문서화하지 않는 이유는 무엇입니까?
@param
JavaDoc 요소가 더 긴 설명을 제공 할 수 있다는 것은 사실입니다 . 그러나 JavaDocs가 반드시 표시되지 않는 것도 사실입니다. (예를 들어, 유형 매개 변수 이름을 표시하는 컨텐츠 지원이 Eclipse에 있습니다.)
다중 문자 유형 매개 변수 이름은 Oracle 규칙을 따르지 않습니다!
Sun의 많은 원래 규칙은 Java 프로그래밍에서 거의 보편적으로 따릅니다.
그러나이 특별한 관습은 그렇지 않습니다.
경쟁 관례 중 최선의 선택은 의견의 문제입니다. 이 경우 Oracle이 아닌 다른 규칙을 선택하는 결과는 미미합니다. 귀하와 귀하의 팀은 귀하의 필요에 가장 적합한 대회를 선택할 수 있습니다.