// 나쁜 예
int d; // 경과 시간(단위: 날짜)
// 좋은 예
int elapsedTimeInDays;
int daysSinceCreation;
좋은 이름을 사용하면 주석 없이도 변수 이름만 보고도 용도를 알 수 있다.
import java.util.**ArrayList**;
String[] account**List**; // 나쁜 예
String[] accounts; // 좋은 예
ArrayList<String> accountList; // 좋은 예
“List”라는 단어는 특수한 의미로 쓰이므로 실제 List가 아니라면 그릇된 정보를 제공하는 셈이다.
차이를 구분하기 힘든 이름 사례
accountData ↔ account
theMessage ↔ message
customerInfo ↔ customer
발음하기 쉬운 문자를 사용해라 “의사소통을 위해”
genymdhms → generationTimestamp
modymdhms → modificationTimestamp
*ymdhms - Year Month Day Hour Minute Second
g_ : global variable
m_: class member
s_ : static variable of class
c_ : static variable of function
타입을 변수명에 접두어로 붙여 표현하는 방식.
지금은 IDE의 기능이 좋아져 color로 구분해주므로 이제 사용하지 않는다.
[X] IShapeFactory & ShapeFactory
[O] ShapeFactory & ShapeFactoryImp or CShapeFactory
개인적으로 Imp가 Java의 implements 구문과 엮여서 더 보기 좋아보인다.
Class Name은 명사구, Method Name은 동사구
한 개념에 한 단어