요약
•
자바의 명명 규칙을 잘 따르자.
자바 명명 규칙
•
자바는 명명 규칙으로 철자와 문법 두 범주로 잘 정립되어 있고, 자바 언어 명세에 기술되어 있다. 특별한 이유가 없다면 명명 규칙들을 반드시 따르자.
•
철자 규칙
◦
패키지와 모듈 이름은 .을 통해 계층적으로 구분하고, 모두 소문자 알파벳과 숫자로 이루어진다.
◦
패키지는 해당 패키지를 설명하는 하나 이상의 요소로 이루어지고, 8글자 이하의 짧은 단어로 한다.
◦
패키지 이름으로 utilities보다는 util처럼 의미가 통하는 약어가 권장된다. 여러 단어로 구성되었다면 첫 글자만 따는 것도 괜찮다.
◦
클래스와 인터페이스 이름은 하나 이상의 단어로 이루어지며, 각 단어는 대문자로 시작한다(CamelCase).
◦
클래스와 인터페이스 이름으로 여러 단어의 첫 글자를 딴 약자나 min, max와 같은 통용되는 줄임말을 제외하면 단어를 줄여쓰지 말자.
◦
메서드와 필드 이름은 첫 글자가 소문자라는 것을 제외하면 클래스 명명 규칙과 같다.
◦
예외적으로 상수 필드의 경우 구성하는 단어를 모두 대문자로 쓰며, 단어 사이는 _로 구분한다.
•
문법 규칙
◦
객체를 생성할 수 있는 클래스나 열거형의 이름은 보통 단수 명사나 명사구를 사용하고, 객체를 생성할 수 없는 경우에는 복수형 명사를 사용한다.(PriorityQueue vs Collections)
◦
인터페이스의 이름은 클래스와 동일하게 짓거나(Collection, Comparator), able 혹은 ible로 끝나는 형용사로 짓는다.
◦
특정 동작을 수행하는 메서드의 이름은 동사나 동사구로 짓는다.(append, drawImage)
◦
boolean을 반환하는 메서드라면 is나 has로 시작하고 명사구나 형용사구로 끝난다.(isDigit, isEmpty, isEnabled)
◦
해당 인스턴스의 속성을 반환하는 메서드의 이름은 명사구나 get으로 시작하는 필드 이름 혹은 동사구로 짓는다.(size, hashCode, getTime)
◦
객체의 타입을 바꾸는 메서드라면 to를 붙여 짓는다.(toString, toArray)
◦
객체의 내용을 다른 뷰로 보여주는 메서드는 as를 붙여 짓는다.(asList, asServiceDomain)
◦
정적 팩터리 메서드의 이름은 from, of, valueOf, instance, getInstance, getType, newType 등 다양한 상용 표현이 있다.