i-no.log
로그인
i-no.log
로그인
[클린 코드 읽고 정리해두고 다시 보기] 의미 있는 이름
inho ha
·
2024년 9월 12일
팔로우
0
클린 코드
0
클린 코드 읽고 정리해두고 다시 보기
목록 보기
1/16
의도를 분명하게 밝혀라
변수 또는 함수의 존재 이유, 수행 기능, 사용 방법이 드러나야함
List<int[]> theList -> gameBoard
cell[STATUS_VALUE] == FLAGGED -> cell.isFlagged()
그릇된 정보를 피하라
널리 쓰이는 의미가 있는 단어를 다른 의미로 사용 금지
List 타입이 아니라면 accountList 와 같은 식으로 명명 금지
서로 다른 모듈에서 흡사한 이름 사용 금지
유사한 개념은 유사한 표기법 사용
의미 있게 구분하라
a1, a2, ..., an 사용 금지
Product, ProductObject 와 같이 차이를 파악할 수 없는 변수명 사용 금지
발음하기 쉬운 이름을 사용하라
genymdhms -> generationTimestamp
검색하기 쉬운 이름을 사용하라
문자 하나를 사용하는 이름과 상수를 피하라
7 -> MAX_CLASSES_PER_STUDENT
인코딩을 피하라
헝가리식 표기법 금지
변수 이름에 타입을 인코딩 금지 (멤버 변수 접두어 m_)
인터페이스와 구현 클래스 이름은 구현 클래스에 Imp 을 붙이는 것 정도는 허용
자신의 기억력을 자랑하지 마라
문자 하나만 사용하는 변수 이름 금지
루프의 반복 횟수를 세는 i,j,k는 허용
클래스 이름
클래스 이름과 객체 이름은 명사나 명사구 사용
Manager, Processor, Data, Info 사용 금지
동사 사용 금지
메서드 이름
메서드 이름은 동사나 동사구 사용
접근자, 변경자, 조건자는 javabean 표준에 따라 앞에 get, set, is를 붙인다.
생성자를 오버로드할 때는 정적 팩토리 메서드 사용(인수를 설명하는 이름 사용)
기발한 이름은 피하라
재미난 이름보다 명료한 이름 선택
한 개념에 한 단어를 사용하라
일관성 있는 어휘 사용
똑같은 메서드를 클래스마다 fetch, retrieve, get으로 제각각 사용 금지
동일한 코드 기반에 controller, manager, driver 처럼 차이가 모호한 이름 섞어서 사용 금지
말장난을 하지 마라
add 메서드가 더하기 메서드로 존재하는데, 삽입 메서드 이름을 add로 사용 금지 (insert, apppend 사용)
해법 영역에서 가져온 이름을 사용하라
코드를 읽을 사람은 프로그래머이기 때문에 전산 용어, 알고리즘 이름, 패턴 이름, 수학 용어를 사용 가능
모든 이름을 도메인 영역에서 가져오는 정책 금지
문제 영역에서 가져온 이름을 사용하라
적절한 프로그래머 용어가 없다면 도메인 영역에서 이름을 가져온다.
도메인 영역 개념과 관련이 깊은 코드도 도메인 영역에서 이름을 가져온다.
의미 있는 맥락을 추가하라
스스로 의미가 분명하지 않은 경우 클래스, 함수, 이름 공간에 넣어 맥락을 부여한다. (다 실패하면 접두어 추가)
state -> addressState (접두어 추가)
state -> address.state (클래스 생성)
불필요한 맥락을 없애라
이름에 불필요한 맥락 추가 금지
GSDAccountAddress -> Address
inho ha
inho ha / ian(swatchon) / iha(42seoul)
팔로우
다음 포스트
[클린 코드 읽고 정리해두고 다시 보기] 함수
0개의 댓글
댓글 작성