카테고리 없음
[Effective Java] Item68. 일반적으로 통용되는 명명 규칙을 따라라
niniz
2022. 8. 21. 02:00
패키지 명명 규칙
- 패키지와 모듈 이름은 각 요소를 점(.)으로 구분하여 계층적으로 짓습니다.
- 요소들은 모두 소문자 알파벳 혹은 숫자를 사용합니다.
- 패키지를 설명하는 하나 이상의 요소로 이루어져야 합니다.
- 일반적으로 8자 이하의 짧은 단어로 이름을 짓습니다.
클래스, 인터페이스
- 하나 이상의 단어로 구성하며, 첫 글자는 무조건 대문자로 작성합니다.
- 여러 단어의 첫글자만 딴 약자나 널리 통용되는 줄임말을 제외하고는 줄이지 않습니다.
- HttpUrl의 URL과 같은 약자의 경우 대부분은 첫 글자만 대문자로 사용합니다.
메서드, 필드
- 첫 글자를 소문자로 쓴다는 점만 제외하면 클래스 명명 규칙과 동일합니다.
- 첫 단어가 약자라면 단어 전체가 소문자입니다.
상수
- 구성하는 단어 모두 대문자로 쓰며 단어 사이는 밑줄로 구분합니다.
지역변수
- 다른 멤버와 비슷한 명명 규칙이 적용됩니다. 약어를 사용해도 변수의 문맥을 통해 유추 가능하기 때문에 약어를 사용해도 괜찮습니다.
타입 매개변수
- 보통 한 글자로 표현합니다.
- T : 임의의 타입
- E : 컬렉션 원소의 타입
- K : 맵의 키
- V : 맵의 값
- X : 예외
- R : 메서드의 반환 타입
- T, U, V or T1, T2, T3 : 임의 타입의 시퀀스
문법 규칙
- 객체를 생성하는 클래스나 열거타입 인터페이스는 단수 명사나 명사구를 사용합니다.(Thread, PriorityQueue)
- 객체를 생성할 수 없는 클래스에는 보통 복수형 명사로 짓습니다.(Collectors, Collections)
- 인터페이스 이름은 클래스명과 동일하게 짓거나, ible, able로 끝나는 형용사로 짓습니다.(Runnable, Iterable)
- 애너테이션은 특별한 규칙이 없습니다.
- 메서드의 이름은 동사나 목적어를 포함한 동사구로 짓습니다.(append, drawImage)
- boolean 값을 반환하는 메서드라면 is, has로 짓습니다.(isEmpty, hasSiblings)
- 반환타입이 boolean이 아닌경우 보통 명사, 명사구, get-로 짓습니다.(size, getTime)
- 반환타입을 또다른 타입으로 반환하는 경우 toType의 형태로 짓습니다.(toString, toArray)
- 객체 내용을 다른 뷰로 보여주는 메서드는 asType의 형태로 짓습니다.(asList)
- 객체의 값을 기본타입으로 반환하는 경우 typeValue의 형태로 짓습니다.(intValue, longValue)
- 정적 팩터리의 이름은 다양합니다.(from,m valueOf, getInstance)
반응형