일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Rails
- 재태크
- 노마드코드
- 노개북
- 아임포트
- HTTP
- Watcha pedia
- 주식
- Race Condition
- rails cache
- memcached
- Cache
- 투자
- 레일즈
- Python
- redis
- 경제
- 북클럽
- CU
- API
- 사업
- 노마드코더
- transaction
- django
- restful
- 레일즈 캐시
- iamport
- trouble shooting
- redis transaction
- Today
- Total
Stay hungry, Stay foolish
[클린코드] 2장 - 의미있는 이름 본문
사람의 이름이건 제품의 이름이건 '이름' 이라는건 중요하다.
개발에서도 이름은 중요하다.
개발은 보통 혼자하는 것이 아니기 때문에 남들이 봤을 때 클래스, 함수명만 보고도 어떤 기능을 하는 클래스구나 함수구나를 알 수 있는 이름을 짓는것이 중요하다.
클린코드 2장에서는 변수 즉 좋은 이름을 선택하는 방법들에 대해 설명해준다.
의도를 분명히 하라
- 변수, 함수, 클래스의 이름을 보고 존재 이유, 사용방법, 기능 등에 대해 알아보기 어려워 주석이 필요하다면 좋지 못한 코드다.
그릇된 정보를 피하라
- List type 이 아닌 객체인데 변수명에 List가 들어간다거나 let l ; 처럼 l 이 알파벳 l 인지 i 인지 1인지 구분이 안되게 작성하면 안된다.
의미있게 구분하라
- getAccount() , getAccounts() , getAccountsInfo() 처럼 3개의 함수명이 있다고 하자. 의미가 구분이 되는가? 함수명이나 클래스 명 변수명은 각자 해당 기능이 무엇인지 의미가 분명하게 구분되어야한다.
발음하기 쉬운 이름을 사용하라
- 발음하기 좋은 변수명이 커뮤니케이션을 하는데도 편리하다.
검색하기 쉬운 이름을 사용하라
- 개발을 하다보면 해당 변수나 클래스, 함수가 어떤 페이지에 사용되었는지 검색하는 일이 아주아주 흔하다. 따라서 이름을 검색하기 쉽게 짓는것도 중요하다.
클래스 이름
- 클래스, 객체 이름은 명사나 명사구가 적당하다.
메서드 이름
- 메서드 이름은 동사나 동사구가 적당하다.
한 개념에 한 단어
- 똑같은 기능의 메서드가 있는데 클래스마다 retrieve, get, fetch 처럼 서로 다른 이름의 메서드를 사용하면 헷갈린다. 한 개념에는 하나의 이름만 사용하자.
말장난을 하지 마라
- 다른 클래스에 add 라는 메서드가 기존에 존재하고 있는데, 새로운 기능 중 리스트에 값을 하나 추가하는 메서드를 만들었다고 할때 add 라는 명으로 짓지 말아라.
의미 있는 맥락을 추가하라
- firstName, lastName, street, houseNumber, city, state.. 라는 변수 명을 보면 주소 클래스 라는것을 알 수 있다. 하지만 state 라는 변수명만을 본다면 의미가 분명한가? 아니다. 변수명 앞에 addr 를 추가해서 addrState로 변수명을 짓는다면 의미가 더 분명하다.
그리고 코드에 줄임말 쓰지 말자...
'책 책 책 책을 읽읍시다!' 카테고리의 다른 글
[클린코드 #1.5] 깨끗한 코드 (0) | 2022.01.24 |
---|---|
[클린코드 #1] 깨끗한 코드 (0) | 2022.01.22 |
[클린코드#0] 노개북을 시작하며 (0) | 2022.01.22 |
AARRR 프레임워크 (0) | 2022.01.05 |
훅 (Hooked) - 습관을 만드는 개발모델 (0) | 2021.12.17 |