패키지 이름
조직 바깥에서 사용될 패키지는 인터넷 도메인 이름을 역순으로 사용한다. 예를 들어 com.goole
이에 해당된다. 패키지 이름의 나머지는 8자 이하의 약어를 사용한다. 예를들어 utilities 보다는 util이 좋다. 많은 기능을 제공하는 경우엔 계층을 나눠 더 많은 요소로 구성해도 좋다.
클래스와 인터페이스 이름
클래스와 인터페이스의 이름은 하나 이상의 단어로 이루어지며 대문자로 시작한다. 여러 단어의 첫 글자만 딴 약자나 max, min 처럼 널리 통용되는 줄임말을 제외하고는 단어를 줄여 쓰지 않도록 한다.
객체를 생성하는 클래스는 단수 명사나 명사구를 이용한다. 객체를 생성할 수 없는 클래스의 이름은 복수 명사로 짓는다. 인터페이스는 클래스 이름과 같이 짓거나 ablee, ible로 끝나는 형용사로 짓는다.
메소드와 필드 이름
메소드와 필드 이름은 첫글자를 소문자로 쓴다는 점만 제외하면 클래스와 인터페이스의 이름과 명명 규칙이 갔다. 첫 단어가 약자라면 전체가 소문자여야 한다. 단 상수 필드는 예외다. 지역변수에도 이와 비슷한 명명 규칙이 적용된다.
어떤 동작을 수행하는 메소드의 이름은 동사나 동사구를 사용한다. boolean 값을 반환하는 메소드라면 is나 has로 시작한다. 반환 타입이 boolean이 아니거나 해당 인스턴스의 속성을 반환하는 메소드의 이름은 보통 명사, 명사구, 혹은 get으로 시작하는 동사구를 짓는다.
타입 매개변수 이름
- 임의의 타입 : T
- 컬렉션 원소의 타입 : E
- 맵의 키와 값 : K, V
- 예외 : X
- 메소드의 반환 타입 : R
- 그외 임의 타입의 시퀀스 : T, U, V, T1, T2, T3
그 외
객체의 타입을 바꿔서 다른 타입의 또 달흔 객체를 반환하는 인스턴스 메소드의 이름은 보통 toType으로 짓는다. 객체의 내용을 다른 뷰로 보여주는 메소드의 이름은 asType으로 짓는다. 객체의 값을 기본 타입 값으로 반환하는 메소드의 이름은 보통 typeValue 형태로 짓는다.