Closed okhee closed 1 year ago
API
edu.cmu
com.google
com.naver.news
utilities
util
awt
subpackage
java.util
java.util.concurrent.atomic
java.util.concurrent.locks
List
FutureTask
min
max
HttpUrl
HTTPURL
remove
removeAll
상수 필드
static final
VALUES
SECTION_ID
i
num
T
E
K
V
X
R
T, U, V
T1, T2, T3
Thread
PriorityQueue
LinkedList
Collectors
Collections
able
ible
Collection
Runnable
Accessible
BindingAnnotation
Inject
ImplementedBy
Singleton
append
drawImage
boolean
is
has
isDigit
isEmpty
isEnabled
size
hashCode
length
getTime
getter
setter
getX
setX
getAttribute
setAttribute
toType
toString
toArray
asType
asList
typeValue
intValue
from
of
valueOf
instance
getInstance
newInstance
getType
newType
initialized
composite
height
digits
bodyStyle
"오랫동안 따라온 규칙과 충돌한다면 그 규칙을 맹종해서는 안 된다"
자바 명명 규칙
철자 규칙
API
사용과 유지보수가 어렵다. (의미를 오해하거나 더 나아가 오류가 발생 할 수 있음)패키지와 모듈 이름
edu.cmu
com.google
com.naver.news
utilities
보다는 의미가 통하는util
과 같은 약어awt
처럼 각 단어 첫 글자만 따서 써도 좋다.subpackage
)를 구성해도 좋다.java.util
하위에java.util.concurrent.atomic
,java.util.concurrent.locks
와 같이클래스와 인터페이스 이름(Enum, 애너테이션 포함)
List
,FutureTask
min
,max
와 같이 널리 통용되는 줄임말을 제외하고는 단어를 줄여 쓰지 않는다.HttpUrl
,HTTPURL
을 비교 했을 떄 무엇이 더 나은가.. ?메서드와 필드 이름
remove
,removeAll
awt
상수 필드
는 예외적으로 모두 대문자와 단어 사이에 밑줄(_)로 구분한다. (값이 불변인static final
#17 )VALUES
,SECTION_ID
지역변수 이름
i
,num
타입 매개변수 이름
T
: 임의의 타입(Type)E
: 컬렉션 원소 타입(Element)K
: 맵의 키 타입(Key)V
: 맵의 값 타입(Value)X
: 예외 타입(eXception)R
: 매서드 반환 값 타입(Return)T, U, V
,T1, T2, T3
: 임의 타입 시퀀스문법 규칙
클래스
Thread
,PriorityQueue
,LinkedList
Collectors
,Collections
인터페이스
able
,ible
로 끝나는 형용사를 사용한다.Collection
,Runnable
,Accessible
애너테이션
BindingAnnotation
,Inject
,ImplementedBy
,Singleton
메서드
append
,drawImage
boolean
값을 반환하는 경우는is
,has
(드물게) 로 시작하고 명사, 명사구, 형용사로 끝난다.isDigit
,isEmpty
,isEnabled
boolean
이 아니거나 해당 인스턴스의 속성을 반환하는 경우 명사, 명사구, 혹은 형용사로 가능한 단어나 구로 끝나도록 한다.size
,hashCode
,length
,getTime
getter
,setter
를 모두 제공 한다면getX
,setX
와 같이 사용한다.getAttribute
,setAttribute
toType
형태를 사용한다.toString
,toArray
asType
형태를 사용한다. (#6 )asList
typeValue
형태를 사용한다.intValue
from
,of
,valueOf
,instance
,getInstance
,newInstance
,getType
,newType
필드
API
설계에 직접 노출 될 일이 거의 없으므로 덜 명확, 덜 중요하다. (설계를 잘 했다면)boolean
타입 필드는boolean
접근자 메서드에서 앞 단어를 뺀 형태를 사용한다.initialized
,composite
height
,digits
,bodyStyle
정리
"오랫동안 따라온 규칙과 충돌한다면 그 규칙을 맹종해서는 안 된다"