[책 리뷰] 클린 코드(Clean Code) - 2. 의미 있는 이름
[책 리뷰] 클린 코드(Clean Code) - 서론 :: 염소의 개발일기 (tistory.com)
[책 리뷰] 클린 코드(Clean Code) - 서론
프로그래밍에 정답은 없다고 생각한다. 하지만 개발을 하다 보면 항상 고민의 순간이 온다. 어떻게 해도 동작은 하지만, 이렇게 짜는 것이 맞나? 싶은 순간이 하루에도 수십번씩 찾아온다. 문득
devgoat.tistory.com
클린 코드 - 2장 의미 있는 이름 의 많은 내용 중,
기억하고 싶은 내용, 현재 내 상황에서 적용할 수 있는 내용을 포스팅한다.
1. 검색하기 쉬운 이름을 사용하라.
- 함수나 변수 이름을 축약하지 않고 검색하기 쉽도록 작성한다.
아래처럼 클래스명을 만들면 Impt 가 Important 의 축약어라는 것을 모르면 검색하기 쉽지 않다.
public Class FileImpt
아래처럼 상세하게 짓도록 하자.
public Class FileImportant
2. 한 개념에 한 단어를 사용하라. ★
- 추상적인 개념 하나에 단어 하나를 선택한 후 이를 고수해야 한다.
아래의 예시를 보면 세 함수 다 FileId를 찾기 위한 함수인 것을 알 수 있다.
public String getFileId
public String selectFileId
public String searchFileId
그런데 조회한다는 한가지 추상화 개념에 get, select, search 가 동시에 사용되는 것을 볼 수 있다.
아래처럼 파일 Id를 조회할 땐 select, 파일 리스트를 조회할 땐 get이라는 용어를 동시에 사용하지 말고
하나의 추상화 개념이라면 한 단어로 표현한다.
(get 과 Select의 추상화 개념이 다르다면 따로 구분하여 사용한다.)
public String selectFileId <- 이렇게 사용하고 있다면
public List<> getFileList X
public List<> selectFileList O
3. 불필요한 맥락을 없애라.
- 클래스 이름에 불필요한 맥락을 제거해야 한다.
예를 들어 메신저 프로그램을 개발한다고 할 때
사용자 및 메시지 정보 클래스를 아래와 같이 설계하였다.
public Class MessengerUser
public Class MessengerMessage
위의 예시에선 모든 클래스 이름에 Messenger라는 접두어가 붙어 다른 모듈에선 사용하기 힘들어졌다.
굳이 저렇게 접두어를 붙이지 말고 설계하자.