일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Apache Kafka
- clean code 형식맞추기
- 강아지와여행
- 강원도여행
- clean code
- 양양
- 연신내데이트
- 카프카
- 연신내맛집
- 압구정맛집
- kafka기본개념
- react
- 클린코더
- 클린코더요약
- 청담맛집
- kafka개념
- 연신내
- clean code 5장
- 아파치카프카 왜 만들어졌나
- 아파치카프카
- Kafka
- 라라벨
- cleancode형식맞추기
- laravel
- 을지로맛집
- 압구정로데오맛집
- CleanCode
- 라라벨시작
- 방아머리해수욕장
- 카프카개념
- Today
- Total
BOHYUN STORY
[Clean Code] 2장. 의미있는 이름 본문
[2장. 의미있는 이름]
이름을 잘 짓는 간단한 규칙을 소개하는 장입니다.
- 의도를 분명히 밝혀라
: 변수나 함수 그리고 클래스 이름은 해당 질문에 모두 답할 수 있어야한다. 변수(함수나 클래스)의 존재 이유? 수행 기능? 사용방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
- 그릇된 정보를 피하라
: 널리 쓰이는 의미 있는 단어를 다른 의미로 사용하면 안된다.
: 서로 흡사한 이름을 사용하지 않도록 주의한다.
- 의미 있게 구분하라
: 불용어 같은 변수 예를 들어 ProducetInfo나 ProductData와 같이 개념을 구분하지 않고 이름만 달리 사용하지 말자. 읽는 사람이 차이를 알도록 이름을 지어라.
- 발음하기 쉬운 이름을 사용하라
: 대화할 때 용이하다. 프로그래밍도 사회활동이다.
- 검색하기 쉬운 이름을 사용하라
: 문자 하나를 사용하는 이름과 상수는 텍스트 코드에서 쉽게 눈에 띄지 않는다.
예를 들어 for(int j=0; j<34; j++) 보다는 for(int j=0; j<NUMBER_OF_TASKS; j++) 이렇게 사용하자.
- 인코딩을 피하라
: 유형이나 범위정보까지 인코딩에 넣으면 그만큼 이름을 해독하기 어려워진다. 게다가 인코딩 언어까지 익혀야하기에 비합리적이다. 문제해결에 집중하는 개발자에게 인코딩은 불필요한 정신적 부담이다. 발음도 어렵고 오타가 생기기 쉽다.
- 자신의 기억력을 자랑하지 마라
: 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다. 전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내 놓는다.
- 클래스 이름
: 클래스 이름과 객체 이름은 명사나 명사구가 적합하다. 같은 단어는 피하고 동사는 사용하지 않는다.
- 메서드 이름
: 동사나 동사구가 적합하다. 접근자, 변경자, 조건자에 따라 get, set, is를 붙인다.
- 기발한 이름은 피하라
: 의도를 분명하고 솔직하게 표현하라
- 한 개념에 한 단어를 사용하라
: 추상적인 개념 하나에 단어 하나를 서낵해 이를 고수한다. 예를들어 똑같은 메서드를 클래스마다 fetch, retrieve, get으로 제각각 부르면 혼란스럽다. 일괄성 있는 어휘를 사용해라.
- 말장난 하지 마라
: 프로그래머는 코드를 최대한 이해하기 쉽게 짜야한다. '한 개념에 한 단어를 사용하라'는 규칙에 따랐더니 같은 맥락이 아닌데도 일관성을 고려해 같은 단어를 선택하는 경우가 있다. 맥락이 다르면 다른 단어를 택하자. 집중적인 탐구가 필요한 코드가 아닌 대충 훑어봐도 이해하기 쉽게 짜야한다.
- 해법 영역에서 가져온 이름을 사용하라
: 코드를 읽는 사람도 프로그래머라는 사실을 명심한다. 기술 개념에는 기술 이름이 가장 적합한 선택이다. 예를 들어 JobQueue가 있다.
- 문제 영역에서 가져온 이름을 사용하라
: 적절한 프로그래머 용어가 없으면 문제 영역에서 이름을 가져온다. 우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야 한다. 문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다.
- 의미 있는 맥락을 추가하라
: 스스로 의미가 분명한 이름이 없지 않다. 그래서 클래스, 함수, 이름 공간에 넣어 맥락을 부여한다. 모든 방법에 실패하면 마지막 수단으로 접두어를 붙인다. 예를 들어 firstName, lastName, street 라는 변수가 있는데 변수 state 같은 경우 주소의 일부분이라는 사실을 금방 알아챌까? addr 접두어를 추가해 addrFirstName, addrLastName, addrStreet 라고 쓰면 맥락이 좀 더 분명해진다.
- 불필요한 맥락을 없애라
: 일반적으로 짧은 이름이 긴이름보다 좋다. 단, 의미가 분명한 경우에 한해서다. 이름에 불필요한 맥락을 추가하지 않도록 주의하자.
'IT > 기타' 카테고리의 다른 글
[Clean Code] 4장. 주석 (0) | 2021.07.11 |
---|---|
[Clean Code] 3장. 함수 (0) | 2021.06.30 |
[Clean Code] 1장. 깨끗한 코드 (0) | 2021.02.11 |
Clipy(macOS) , Ditto(window) / 개발 필수 앱 멀티 클립보드 (2) | 2020.07.05 |
Visual Studio Code 자주 사용하는 단축키 (0) | 2019.10.09 |